我有一个名为Topiccenter
的模型。每个Topiccenter中都有很多条目。
class Topiccenter(models.Model):
name = models.TextField()
class Book(models.Model):
tc = models.ForeignKey(Topiccenter,related_name="tc_book_entries")
name = models.TextField()
class Journal(models.Model):
tc = models.ForeignKey(Topiccenter,related_name="tc_journal_entries")
name = models.TextField()
我想获取话题中心并按max entries
和min entries
对其进行排序。
我试过
Topiccenter.objects.annotate(sum_entries=Sum('tc_book_entries','tc_journal_entries')).order_by('-sum_entries')
但这不起作用
答案 0 :(得分:2)
试试这个 -
Topiccenter.objects.annotate(
sum_books=Sum('tc_book_entries'),
sum_journals=Sum('tc_journal_entries')
).extra({
'select': {
'sum_entries': 'sum_books + sum_journals'
}
}).order_by('-sum_entries')
这应该有用。