2011-01-14 2 views
1

Ich versuche, die Syntax ". PK" in Django zu verstehen. Ist ".pk" ein Verweis auf eine Datei oder Verweis auf einen Primärschlüssel ... Da die ".pk" einen Punkt enthält, ist es schwer, nach der Antwort zu suchen. Kann mir jemand sagen ..Django Syntax obj.pk

Zum Beispiel

 current_tags = list(self.filter(items__content_type__pk=ctype.pk, 
            items__object_id=obj.pk)) 

Antwort

2

obj.pk bezieht sich auf die Objekt-Eigenschaft, die als Alias ​​auf den Primärschlüssel fungiert.

Weitere Informationen finden Sie unter http://docs.djangoproject.com/en/dev/ref/models/instances/#the-pk-property.

Wie für googeln, ich stolperte über diese Referenz von Google für "+django Model.pk" seit obj wenn der Klasse models.Model.

In der Tat, wenn Sie nach Django verwandte Dokumente suchen, die einfachste wäre, das Suchfeld in der http://docs.djangoproject.com Website zu verwenden. Wenn Sie Google wirklich verwenden möchten, fügen Sie +site:docs.djangoproject.com zu Ihrer Suchzeichenfolge hinzu, z. B. "pk +site:docs.djangoproject.com".

0

Die Verwendbarkeit des Felds 'pk' besteht darin, dass Sie das Modell eines anderen Benutzers verwenden können, dessen Primärschlüsselfeld anders als 'id' ist. Mit anderen Worten, das 'pk'-Feld gibt Ihnen die Flexibilität, den Primärschlüssel des Modells zu verwenden, ohne zu wissen, was dieser Schlüssel eigentlich ist.