【发布时间】:2019-04-12 23:54:12
【问题描述】:
我有一个用户模型和一个提交模型。每个提交都有一个名为 user_submitted 的 ForeignKey 字段,用于上传它的用户。
class Submission(models.Model):
uploaded_by = models.ForeignKey('User')
class User(models.Model):
name = models.CharField(max_length=250 )
我的问题很简单:如何获得提交次数最多的三个用户的列表?
我尝试在 User 模型上创建一个 num_submissions 方法:
def num_submissions(self):
num_submissions = Submission.objects.filter(uploaded_by=self).count()
return num_submissions
然后做:
top_users = User.objects.filter(problem_user=False).order_by('num_submissions')[:3]
但这失败了,就像我尝试过的所有其他事情一样。我真的可以使用智能数据库查询吗?还是我应该在视图文件中做一些更骇人听闻的事情?
【问题讨论】:
标签: django