我有一个用户模型和一个提交模型。每次提交都有一个名为user_的ForeignKey字段,用于上传它的用户。
class Submission(models.Model):
uploaded_by = models.ForeignKey('User')
class User(models.Model):
name = models.CharField(max_length=250 )
我的问题很简单:我怎样才能得到提交最多的三个用户的列表?
我尝试在用户模型上创建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]
但这失败了,我试过的其他事情也一样。我真的可以用智能数据库查询吗?或者我应该在视图文件中做些更黑的事情?
在示例模型代码中没有提到
problem_user
,但我假设它是User
上的BooleanField
。相关问题 更多 >
编程相关推荐