Django)如何查询Many对Many关系中另一个模型的字段



我想从包含多对多关系中另一个模型的模型中查询数据字段。

例如,我想从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相当陌生..(

此代码可以正常工作,只是它属于晚餐模型,而不是经理。它与特定的晚餐有关,而不是一般的晚餐,并且需要计算与该单个晚餐相关的菜单项的值。

最新更新