获取不同模型实例的用户输入评分平均值是一个常见的需求,可以通过以下步骤实现:
from django.db import models
class Rating(models.Model):
user_id = models.IntegerField()
instance_id = models.IntegerField()
score = models.FloatField()
from django.db.models import Avg
def get_average_rating(request):
average_ratings = Rating.objects.values('instance_id').annotate(avg_score=Avg('score'))
return JsonResponse({'average_ratings': list(average_ratings)})
values
方法指定需要返回的字段,使用annotate
方法进行分组和计算平均值。最后,将结果以JSON格式返回给前端。from django.urls import path
urlpatterns = [
path('average-rating/', get_average_rating, name='average-rating'),
]
这样,当用户访问/average-rating/
路径时,将会返回不同模型实例的用户输入评分平均值。
推荐的腾讯云相关产品:腾讯云服务器(CVM)、腾讯云数据库(TencentDB)、腾讯云人工智能(AI Lab)等。你可以在腾讯云官网上找到更详细的产品介绍和文档。
参考链接:
领取专属 10元无门槛券
手把手带您无忧上云