在Django(1.0.2)中,我有两个模型:Lesson和StatLesson。在
class Lesson(models.Model):
contents = models.TextField()
def get_visits(self):
return self.statlesson_set.all().count()
class StatLesson(models.Model):
lesson = models.ForeignKey(Lesson)
datetime = models.DateTimeField(default=datetime.datetime.now())
每位参赛者登记一次参观某一节课。我可以用课程。让你参观()以获取该课程的访问次数。在
我怎样才能得到一个按访问次数排序的课程查询集?我在找这样的东西:Lesson.objects.all().order\u by('statlesson\uu count')(但这显然行不通)
您需要使用extra执行一些本机SQL操作。在
(非常粗略地)
您需要确保
SELECT COUNT(*) FROM statlesson WHERE statlesson.lesson_id=lesson.id
具有项目的write db表名(因为statlesson和lesson不正确)。在django1.1将提供聚合支持。在
在Django 1.0.x上,您可以使用一个额外的字段自动计数:
然后可以这样查询:
^{pr2}$相关问题 更多 >
编程相关推荐