2013-05-20 17 views
5

Definiuję zestaw modeli, które mają odniesienia do siebie nawzajem. Są to model dla aplikacji dokumentacja, która przedstawia się następującoUnikalne pole w modelu Django dla każdego obcego klucza

class Document(models.Model): 
    text = models.TextField() 

class Chapter(models.Model): 
    doc = models.ForeignKey('Document') 
    chapter = models.IntegerField() 

Chcę pole całkowitą być unikalne na dokumencie, ale nie jestem pewien, jak to zrobić. Wiem, że istnieje unikalny parametr dla każdego pola, ale wydaje się, że jest unikalny dla całej tabeli, co nie jest tym, czego chcę.

Odpowiedz

11

można wykorzystywać unikalne razem w modelu jest meta:

class Chapter(models.Model): 
    doc = models.ForeignKey('Document') 
    chapter = models.IntegerField() 

    class Meta: 
     unique_together = (("doc", "chapter"),) 

Oto doc

Powiązane problemy