J'ai quelques classes de modèles avec des relations un-à-plusieurs de base. Par exemple, un livre a de nombreuses recettes, et chaque recette a de nombreux ingrédients:Affaiblissement d'une relation un-à-plusieurs dans Django
class Book(models.Model):
name = models.CharField(max_length=64)
class Recipe(models.Model):
book = models.ForeignKey(Book)
name = models.CharField(max_length=64)
class Ingredient(models.Model):
text = models.CharField(max_length=128)
recipe = models.ForeignKey(Recipe)
Je voudrais une liste plate de tous les ingrédients dans toutes les recettes d'un livre particulier. Quelle est la meilleure façon d'exprimer cela en Python?
Si j'utilisais LINQ, je pourrais écrire quelque chose comme ceci:
var allIngredients = from recipe in book.Recipes
from ingredient in recipe.Ingredients
select ingredient;
Eh bien, je suppose que si vous voulez le faire de la manière simple, en une ligne, vous pouvez le faire. ;) –