j'ai une question sur django content_typesrequêtes Django, content_types génériques
Dans l'exemple de filtrer un QuerySet pour un type de contenu générique sur http://www.djangoproject.com/documentation/models/generic_relations/ il y a les lignes suivantes.
ctype = ContentType.objects.get_for_model(quartz)
TaggedItem.objects.filter(content_type__pk=ctype.id, object_id=quartz.id)
Quelqu'un peut-il expliquer ce que signifie content_type__pk?
Est-ce que __ signifie qu'il y a une indirection? Qu'est-ce que cela signifie dans le contexte de la partie gauche d'un match dans le filtre?
Je vois que dans la définition du modèle
content_type = models.ForeignKey(ContentType)
mais lorsqu'ils sont traduits dans la base de données, il n'y a aucun champ appelé content_type, mais il y a une content_type_id ... alors est-ce que content_type__pk se traduit en fait content_type_id? Et si oui, pourquoi n'ont-ils pas utilisé cela dans l'exemple de filtre?
oui, bien sûr. D'une certaine manière parce que c'était content_type j'ai commencé à imaginer que c'était plus compliqué que d'habitude. Merci. – interstar