【发布时间】:2015-11-06 20:56:23
【问题描述】:
我的models.py目前设置如下:
class Topic(models.Model):
topic = models.CharField(max_length = 50)
def __str__(self):
return self.topic
class Comic(models.Model):
...
topic = models.ForeignKey(Topic, blank = True, null = True,
related_name = 'comics')
不管怎样,两部漫画可以共享同一个主题是可以理解的,但是,每部漫画只能有一个主题。现在我需要一个 Topic 模型的对象列表,该列表根据与它们关联的 Comic 对象的数量进行排序。例如,假设我有一个名为 Unsorted 的主题,它与 15 幅漫画相关联,另一个主题名为 Funny 与 5 幅漫画相关联。我希望我的查询集以 Unsorted 位于 Funny 对象之前的方式排序。
Topic.objects.all().order_by('-comics')
我尝试了这个,但它并没有真正起作用,即使没有错误,结果也没有以正确的方式排序。那么有什么解决方案吗?谢谢!
【问题讨论】:
-
你得到什么错误?
-
@Gocht:嗯,没有错误,结果集与我想要的不同,也就是说,它没有正确排序。
标签: python django django-models django-queryset