我有三种模式:食物、膳食和膳食计划。你知道吗
class Food(models.Model):
name = models.CharField(max_length = 30, default="food")
calories = models.FloatField(validators=[validate_positive])
fat = models.FloatField(validators=[validate_positive])
carbs = models.FloatField(validators=[validate_positive])
protein = models.FloatField(validators=[validate_positive])
class Meal(models.Model):
foods = models.ManyToManyField(Food)
@property
def totalcals(self):
sum = self.foods.aggregate(models.Sum('calories'))['calories__sum']
if sum == None:
return 0
else:
return sum
class MealPlan(models.Model):
meals = models.ManyToManyField(Meal)
owner = models.CharField(max_length=14, default= "")
@property
def totalcals(self):
sum = self.meals.foods.totalcals(models.Sum('totalcals'))['totalcals__sum']
if sum == None:
return 0
else:
return sum
第一个totalcals属性工作正常。第二个会导致错误。我要米尔普兰的第二个totalcals返回它所有的食物totalcals汇总。有办法吗?你知道吗
那怎么办
但我想也会有一个简短的答案。你知道吗
不应该吗自助用餐总卡…不是自助餐总共多少卡?食物不具有totalcals属性,但膳食具有totalcals属性。你知道吗
相关问题 更多 >
编程相关推荐