Mam kilka klas modeli z podstawowymi relacjami jeden-do-wielu. Na przykład, książka zawiera wiele przepisów kulinarnych, a każdy przepis ma wiele składników:Spłaszczanie relacji jeden-do-wielu w 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)
Chciałbym płaski wykaz wszystkich składników we wszystkich recepturach z określonej książki. Jaki jest najlepszy sposób wyrażenia tego w Pythonie?
Gdybym był przy użyciu LINQ, mogę napisać coś takiego:
var allIngredients = from recipe in book.Recipes
from ingredient in recipe.Ingredients
select ingredient;
Cóż, przypuszczam, że jeśli chcesz to zrobić w prosty, jednoliniowy sposób, możesz to zrobić. ;) –