在Django管理网站中为值显示自定义标签

0 投票
2 回答
2446 浏览
提问于 2025-04-16 01:36

我有一个模型里面有个叫“状态”的字段,这个字段只会在代码里被修改。它的值是一个从1到6的整数(虽然将来可能会改变)。

不过,在管理网站上,我想给这个数据显示一个标签。所以,我希望不是显示‘5’,而是显示‘错误’。这样一来,我就能轻松筛选出数据库中状态为‘错误’的对象,而且我的同事们也能在不懂每个状态具体意思的情况下,充分利用管理网站。

我不太确定这样做是否正确,或者是否可行,但我非常感谢你能提供的任何帮助。我不想改变状态的存储方式,因为那样会需要大幅度重写我们系统的某些部分。回想起来,我觉得这样做可能不太好,但当时我没想到这个字段会这么重要。

2 个回答

0

你可以创建一个自定义字段类型,重写 to_pythonget_prep_value 这两个方法,这样就可以在数据库中存储整数,但在Python代码中使用字符串值。

http://docs.djangoproject.com/en/dev/howto/custom-model-fields/#django.db.models.django.db.models.Field

撰写回答