1
class Item(models.Model):
name = models.CharField(max_length=20)
class Meals(models.Model):
name = models.CharField(max_length=50)
ingredients = models.ManyToManyField(Item, through='MealRecipe')
class Menu(models.Model):
name = models.CharField(max_length=50)
meals = models.ManyToManyField(Meals,through='CompMenu')
class CompMenu(models.Model):
TYPE_COMP = (
('B', 'Breakfast'),
('L', 'Lunch'),
('D', 'Dinner')
)
menu = models.ForeignKey(Menu)
meal = models.ForeignKey(Meals)
type = models.CharField(max_length=1, choices=TYPE_COMP)
class MealRecipe(models.Model):
meal = models.ForeignKey(Meal)
item = models.ForeignKey(Item)
qty = models.IntegerField()
,如果我需要serialze查詢集我怎麼能做到這一點,沒有關於它的文件,我需要ITEM_ID,ITEM_NAME,MealRecipe_qty一個JSON。我是否必須序列化所有模型?我需要根據所選菜單來操作前端的配方數量。Django的REST框架多對多使用額外字段系列化
receipes = MealRecipe.objects.filter(meal__in=meals_of_menu)
for receipe in receipes:
name = receipe.item.name
qty = receipe.qty
OR
MealRecipe.objects.filter(meal__menu=some_menu_instance).distinct()
我無法弄清楚如何通過結果Ø此查詢到前端
它的工作,但我用MealRecipe.objects.all(),我可以使用MealRecipe.objects.filter(meal__menu = some_menu_instance).distinct()結果作爲我的序列化程序的查詢集? – gaccep
應該工作。如果查詢提供了MealRecipe對象的查詢集,它應該可以工作。 –
請upvote :) –