因此,我需要能够通过在模型端计算的计算字段对记录进行排序。
所以我的模型是这样的:
class User(models.Model):
data = models.DateTimeField(null=True, blank=False,)
average = None
def get_deviation(self):
return abs(self.average- self.data)
get_deviation.short_description = 'deviation'
get_deviation.allow_tags = True
在我的管理员模型中:
class UserAdmin(admin.ModelAdmin):
list_display = ('data')
def changelist_view(self, request, extra_context=None):
avg_val = User.objects.aggregate(Avg('data'))['data__avg']
User.average = avg_val
list_display = ('data','get_deviation')
return super(UserAdmin, self).changelist_view(request, extra_context)
因此,我需要能够按记录列表中的新字段进行排序。 有什么建议吗?