所以我有这个:
class Thread(models.Model):
first_thread_notification = models.IntegerField(default=0)
second_thread_notification = models.IntegerField(default=0)
我需要根据两个对象的总和对对象进行排序:
class Meta:
ordering = ['-first_thread_notification' + '-second_thread_notification']
我知道这是不正确的,但我该怎么做呢?
编辑
class ManagerSum(models.Manager):
Thread.objects.annotate(
total=ExpressionWrapper(
F('first_thread_notification') + F('-second_thread_notification'),
output_field=IntegerField(),
)
).order_by('-total')
class Thread(models.Model):
first_thread_notification = models.IntegerField(default=0)
second_thread_notification = models.IntegerField(default=0)
total_notifications = ManagerSum()
class Meta:
ordering = ['-total_notifications']
它是否正确?
温温酱
相关分类