2014-12-19 3 views
0

나는 관리 인터페이스를 통해 저장할 인스턴스 인 간단한 모델을 만들었습니다.Django - 관리자를 사용하여 모델 저장

필드 해시의 해시 값은 이어야하며이어야합니다. 그것은 모든 항목에 대한 기본 해시 값을 가지고있는 것 같습니다. 어떻게 수정해야합니까? 또한 제목이 업데이트되면 업데이트되어야합니다. 이를 성취하는데 도움이된다면 많은 도움이 될 것입니다. (중복이 있으면 지적하십시오.)

답변

1

하나의 옵션은 저장하기 전에 저장 방법을 덮어 쓰는 것입니다.

class Entry(models.Model): 
    created = models.DateTimeField(auto_now_add=True) 
    title = models.CharField(max_length=50) 
    content = models.TextField() 
    # Need to specify it as blank=True here or 
    # in the form so it can be ignored when the form is cleaned 
    hashval = models.BigIntegerField(blank=True) 

    def save(self, *args, **kwargs): 
     self.hashval = abs(hash(self.title)) 
     return super(Entry, self).save(*args, **kwargs) 
+0

아름답게 작동합니다. 감사 ! –

+0

죄송하지만 후속 조치로 다른 질문이 있습니다.이 필드를 관리 인터페이스에서 숨기려면 어떻게해야합니까? 감사 ! –

+1

http://stackoverflow.com/a/6498907/1637351 – schillingt

관련 문제