【发布时间】:2010-12-22 14:00:22
【问题描述】:
我在我的数据库中保留了“大小”、“宽度”、“高度”等数字字段。现在,当在更改列表中显示它们时,我会在它们上附加诸如“KiB”或“像素”之类的单位。这可以通过将诸如“size_formatted”等可调用对象添加到list_display 来轻松实现。但是,这些不再是可排序的。
有没有办法绕过这个限制?
【问题讨论】:
标签: django-models django-admin
我在我的数据库中保留了“大小”、“宽度”、“高度”等数字字段。现在,当在更改列表中显示它们时,我会在它们上附加诸如“KiB”或“像素”之类的单位。这可以通过将诸如“size_formatted”等可调用对象添加到list_display 来轻松实现。但是,这些不再是可排序的。
有没有办法绕过这个限制?
【问题讨论】:
标签: django-models django-admin
在这里阅读 - 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'
【讨论】:
admin_order_field,非常感谢!