我有几个基本的一对多关系的模型类。例如,一本书有很多食谱,每个食谱都有很多成分:
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)
我希望获得一本特定书籍中所有食谱中所有食材的平面列表。在Python中,最好的表达方式是什么?
如果我使用LINQ,我可能会写出以下代码:
var allIngredients = from recipe in book.Recipes
from ingredient in recipe.Ingredients
select ingredient;