我有一些具有基本一对多关系的模型类。例如,一本书有很多食谱,每个食谱都有很多成分:
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;