2010-10-06 4 views
0

Travailler avec Django docs' échantillon Blog et Entry modèles, comment peut-on obtenir un queryset de tous les objets qui ont Blogname = "a" et qui ne sont pas associés à une instance du modèle Entry?approchant les modèles de l'autre côté d'une clé étrangère

BRUT (Mes) termes SQL, ce qui est l'équivalent Django ORM de:

SELECT * FROM blog_table bt 
WHERE bt.name='a' AND bt.id NOT IN (SELECT et.blog_id FROM entry_table et) 

Répondre

2

Qu'est-ce que vous avez besoin est une liste des instances qui ont Blogname = "a" et n'avez pas encore entrées associées. Vous pouvez le faire par:

Blog.objects.filter(name = "a", entry = None) 
#     ^^^^  ^^^^^ 
#   <Match name>  <Should have no associated Entry instances> 
+0

C'est plutôt joli. Ça semble aller bien. Merci. – chefsmart