【发布时间】:2018-02-05 20:28:07
【问题描述】:
如何通过一些简单的自定义方法在 Django 管理中对列进行排序?
(我得到的所有答案都是使用annotate,但我不知道如何使用它)。
假设模型
class Shots(models.Model):
hits = models.PositiveIntegerField()
all = models.PositiveIntegerField()
在管理站点中,我想按hits to all 比率排序:
class ShotAdmin(admin.ModelAdmin):
list_display = ['ratio']
def ratio(self, obj):
return obj.hits / obj.all * 100
我知道 ratio 不是 DB 中的字段,因此简单的 ratio.admin_order_field = 'ratio' 不起作用,我需要以某种方式将其附加为字段,但我不知道如何。
【问题讨论】:
标签: python django sorting django-admin