我想从包含多对多关系中另一个模型的模型中查询数据字段。
例如,我想从Dinner
模型计算总成本,该模型与Menu
模型具有多对多关系。这是简化的代码。
class Menu(models.Model):
cost = models.IntegerField()
class Dinner(models.Model):
menus = models.ManyToManyField(Menu)
objects = DinnerManager()
class DinnerManager(models.Manager):
def get_total_cost(self):
total_cost = 0
for each_menu in self.menus.all():
total_cost += each_menu.cost
return total_cost
所以我的问题是:我应该如何设置
对于 self.menus.all(( 中的each_menu:
total_cost += each_menu.成本
这两行让我的类方法起作用?(或者如果其他部分有误,请告诉我。我对django相当陌生..(
此代码可以正常工作,只是它属于晚餐模型,而不是经理。它与特定的晚餐有关,而不是一般的晚餐,并且需要计算与该单个晚餐相关的菜单项的值。