我想从包含多对多关系中的另一个模型的模型中查询数据字段。
例如,我想从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.cost
这两行让我的类方法起作用?(或者如果其他部分是错误的,请告诉我。我对 Django 还很陌生..)
这段代码可以正常工作,只是它属于 Dinner 模型,而不是 Manager。它与特定的晚餐有关,而不是一般的晚餐,并且需要计算与该单独晚餐相关的菜单项的价值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句