Python中文
首页
教程
问答
标签
搜索
登录
注册
访问Django中的许多嵌套字段?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有三种模式:食物、膳食和膳食计划。你知道吗</p> <pre><code>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 </code></pre> <p>第一个totalcals属性工作正常。第二个会导致错误。我要米尔普兰的第二个totalcals返回它所有的食物totalcals汇总。有办法吗?你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>那怎么办</p> <pre><code>@property def totalcals(self): sum = 0 for meal in self.meals.all(): sum = sum + meal.totalcals if sum = 0: return None else: return sum </code></pre> <p>但我想也会有一个简短的答案。你知道吗</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
上传图片使用Django Ckeditor获取服务器错误(500)
8 回答
上传图片到 Google App Engine,来自非网页客户端
1 回答
上传图片到Djang的cloudinary
3 回答
上传图片到Flask
3 回答
上传图片到googleappengine并与用户分享图片
1 回答
上传图片到googlecolab,并使用Keras预测分类
6 回答
上传图片到s3python
4 回答
上传图片到s3后,上传附带的拇指
5 回答
上传图片在Django,希望是一个循序渐进的指南?
1 回答
上传图片并显示在Django 2.0模板上
6 回答
上传图片时创建动态路径
7 回答
上传多个图像会破坏除第一个Flas之外的所有内容
6 回答
上传多个文件上传文件FastAPI
8 回答
上传多个文件到Django
7 回答
上传多张图片
4 回答
上传大数据到谷歌硬盘给400
1 回答
上传大文件nginx+uwsgi
7 回答
上传大文件不工作谷歌驱动Python API
9 回答
上传大文件到S3
7 回答
上传大文件太慢
10 回答