2010-08-28 5 views
0

S'il vous plaît pardonnez-moi si cette question est ridicule. Je suis relativement nouveau à la programmation et à Django.Accéder aux modèles associés dans Django?

Suite à la typique Éditeur, Auteur, par exemple livre ....

Editeur à l'auteur (One to Many) Auteur de livre (un à plusieurs)

J'essaie d'obtenir Django donnez-moi une liste de livres publiés par tous les auteurs sous un même éditeur.


Deux façons que j'ai pensé à le faire:

  1. je pourrais obtenir une liste de tous les auteurs sous un seul éditeur, puis itérer sur ces auteurs pour trouver tous leurs livres. Cela a l'air d'être une manière vraiment délirante de faire ça ... et je vais devoir frapper la DB beaucoup. Je peux demander à Django d'ajouter une nouvelle colonne "Publisher" dans ma table Books, mais je ne suis pas sûr de vouloir répliquer ces données, et je ne sais pas comment faire en sorte que Django les remplisse automatiquement cette info.

J'apprécierais toute aide. Merci.

Répondre

0

Si chaque livre a un ForeignKey auteur et chaque auteur a un éditeur ForeignKey, vous pouvez faire:

Book.objects.filter(author__publisher = <Publisher object>) 

Pour obtenir ce que vous cherchez.

+0

Ahhhhh. Travaillé comme un charme. Lire les docs sur les requêtes maintenant. Merci! – Rob

Questions connexes