2013-05-20 20 views
5

Sto definendo un insieme di modelli, che hanno riferimenti l'uno all'altro. Essi sono un modello per un'applicazione di documentazione, che è la seguenteCampo univoco in Django Model per ogni chiave esterna

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

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

Voglio che il campo intero per essere unico per ogni documento, ma non sono sicuro come farlo. So che esiste un parametro univoco per ogni campo, ma sembra che sia unico per l'intera tabella, che non è quello che voglio.

risposta

11

È possibile utilizzare unico insieme nel modello è meta:

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

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

Ecco il doc

Problemi correlati