gpt4 book ai didi

django - 在 django admin 的模型字段中即时修改 verbose_name

转载 作者:行者123 更新时间:2023-12-01 11:59:43 37 4
gpt4 key购买 nike

我有这个示例模型与管理员合作

class Author(models.Model):
name = models.CharField(_('Text in here'), max_length=100)

将verbose_name 设置为ugettext_lazy 'Text in here',但有时,根据site_id,我想显示不同的详细名称,所以我修改了 初始化 通过这种方式
def __init__(self, *args, **kwargs):
super(Author, self).__init__(*args, **kwargs)
#some logic in here
self._meta.get_field('name').verbose_name = _('Other text')

它可以工作,显示“其他文本”而不​​是“此处的文本”......除了第一次使用作者/添加 View 。

¿这是正确的方法吗? ¿如何解决第一次出现的问题?

提前致谢

最佳答案

不要修改模型的元素。正如您所发现的,模型定义中有各种各样的元类内容会破坏事物。

相反,定义一个自定义表单并更改 __init__ 中的字段标签。方法在那里。

关于django - 在 django admin 的模型字段中即时修改 verbose_name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2872743/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com