在Django管理网站中为值显示自定义标签
我有一个模型里面有个叫“状态”的字段,这个字段只会在代码里被修改。它的值是一个从1到6的整数(虽然将来可能会改变)。
不过,在管理网站上,我想给这个数据显示一个标签。所以,我希望不是显示‘5’,而是显示‘错误’。这样一来,我就能轻松筛选出数据库中状态为‘错误’的对象,而且我的同事们也能在不懂每个状态具体意思的情况下,充分利用管理网站。
我不太确定这样做是否正确,或者是否可行,但我非常感谢你能提供的任何帮助。我不想改变状态的存储方式,因为那样会需要大幅度重写我们系统的某些部分。回想起来,我觉得这样做可能不太好,但当时我没想到这个字段会这么重要。
2 个回答
0
你可以创建一个自定义字段类型,重写 to_python
和 get_prep_value
这两个方法,这样就可以在数据库中存储整数,但在Python代码中使用字符串值。
4
可以考虑使用choices这个功能。总之,你可以在django-admin中自定义很多东西,只需要看看文档就行:
http://docs.djangoproject.com/en/1.2/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display
http://docs.djangoproject.com/en/1.2/ref/contrib/admin/#django.contrib.admin.ModelAdmin.form