我觉得这应该是可能的,但我无法解决问题。
我有一个模特:
class ModelClass (models.Model):
name = models.CharField(max_length=100)
email = models.EmailField()
nickname = models.CharField(max_length=32)
在Django管理员列表屏幕中,有任何方法,当用户点击名称'的顶部时,用于排序'昵称'的列价值观?
我觉得应该有一种拦截处理的方法,否则会导致结果集响应于列顶部的点击,然后在允许之前按照我想要的方式进行分类列表屏幕重新绘制。
有什么想法吗?
答案 0 :(得分:2)
您可以使用ModelAdmin的方法在列表中输出name
,并使用已定义的admin_order_field
属性:
class ModelClassAdmin(admin.ModelAdmin):
list_display = ('get_name', 'email')
def get_name(self, obj):
return obj.name
get_name.short_description = 'name'
get_name.admin_order_field = 'nickname'