Django admin:格式化列表中的字段,但保持可排序?

时间:2009-12-02 20:46:03

标签: django-models django-admin

我在数据库中保留了“size”,“width”,“height”等数字字段。现在,我会在更改列表中显示单位,如“KiB”或“像素”。这可以通过向list_display添加诸如“size_formatted”等可调用对象来轻松实现。但是,这些不再是可排序的。

有没有解决这个限制的方法?

1 个答案:

答案 0 :(得分:9)

在此阅读 - ModelAdmin.list_display(阅读了很多内容以达到目的;)

您需要将 admin_order_field 属性添加到您的功能

class YourAdminCLass(admin.ModelAdmin)
   [...]
   def size_formatted(self, obj):
          return "whatever you need"
   size_formatted.admin_order_field = 'size'