【发布时间】:2023-03-13 16:41:01
【问题描述】:
我需要一些关于 django orm 的帮助。 我有一个 EvaluationScore 模型和一个 Category 模型
class EvaluationScore(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4)
score = models.FloatField(null=True)
category = models.ForeignKey('Category', on_delete=models.CASCADE, db_column='id_category')
class Category(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4)
name = models.CharField(max_length=100)
我想做的是查询 EvaluationScore 并按类别返回平均值。所以我做了这样的事情
EvaluationScore.objects.values('category').annotate(Avg('score'))
问题是它为每个门返回一个这样的字典
{'category': UUID('67a56798-24da-4800-af15-79b9839a3f84'), 'score__avg': 28.166666666666668}
我需要的是类别对象,而不仅仅是 UUID。有办法吗?
【问题讨论】:
-
为什么不对Category模型进行查询?
标签: python django django-models django-views django-orm