【发布时间】:2019-10-16 06:12:49
【问题描述】:
我想按平均评分对所有故事进行排序,当我输入 url .../stories?ordering=average_rating 它会带来错误:'list' object has no attribute 'model'
def get_queryset(self):
queryset = Story.objects.all()
ordering = self.request.query_params.get('ordering', None)
if ordering == 'average_rating':
return sorted(queryset, key=lambda s: s.average_rating)
return queryset
class Story(models.Model):
...
@property
def average_rating(self):
average_rating = self.ratings.all().aggregate(Avg('rating'))['rating__avg']
if average_rating is not None:
return round(float(average_rating), 2)
return None
【问题讨论】:
-
错误信息必须在代码中显示一些行号。你能告诉我们哪个代码语句抛出错误
标签: python django django-models django-rest-framework