Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 查询以获取最高评分的x,最低评分为x人_Python_Django_Django Models_Django Rest Framework_Django Views - Fatal编程技术网

Python 查询以获取最高评分的x,最低评分为x人

Python 查询以获取最高评分的x,最低评分为x人,python,django,django-models,django-rest-framework,django-views,Python,Django,Django Models,Django Rest Framework,Django Views,model.py class Movie(models.Model): id = models.AutoField(primary_key=True) title = models.CharField(max_length=100) vote_count = models.IntegerField() class Watchlist(models.Model): userid = models.IntegerField() movie_id = mode

model.py

class Movie(models.Model):
    id = models.AutoField(primary_key=True)
    title = models.CharField(max_length=100)
    vote_count = models.IntegerField()

class Watchlist(models.Model):
    userid = models.IntegerField()
    movie_id = models.ForeignKey(Movie, on_delete=models.CASCADE)
    rating = models.IntegerField()

查询以获取至少5人观看的顶级电影。

您应该阅读有关的基本知识 在您的情况下,类似这样的方法应该会起作用:

from django.db.models import Count, Sum, F

qs = Movie.objects.annotate(vote_count=Count('watchlist_set'), 
                            vote_sum=Sum('watchlist_set__rating'), 
                            rating = F('vote_sum')/F('vote_count')

    ).filter(
        vote_count__gte=5,
    ).order_by(
        '-rating'
    )

您好,欢迎来到stackoverflow,我邀请您阅读:,如果您想讨论如何做,可以添加一个minium示例,或者显示您正在做什么以及您在哪里遇到了问题,以便其他人能够提供帮助