繁体   English   中英

具有AbstractUser字段的Django ugettext

[英]Django ugettext with AbstractUser field

我使用ugettext_lazy转换默认的AbstractBaseUser字段,但发现了一个问题。 我想将名为“ password字段翻译成我的母语,但是我唯一要记住的是

django.core.exceptions.FieldError:类“用户”中的本地字段“密码”与基类“ AbstractBaseUser”中具有相似名称的字段发生冲突

不好

我的代码看起来像这样

class User(AbstractBaseUser, PermissionsMixin):
    password = models.CharField(_('Parool'), max_length=128)
    ....

有什么方法可以转换AbstractBaseUser或任何其他定义的模型中的所有字段? Django的文档没有提及我的问题。

有趣的是,我不能只翻译这个领域。

基于doc

在正常的Python类继承中,子类可以覆盖父类的任何属性。 在Django中,这不允许用于Field实例的属性(至少当前是不允许的)。 如果基类具有一个称为author的字段,则不能在从该基类继承的任何类中创建另一个称为author的模型字段。

从模型中删除或重命名password字段。

如果要翻译password字段,请尝试以下操作:

class User(AbstractBaseUser, PermissionsMixin):
    # define your extra fields

AbstractBaseUser._meta.get_field('password').verbose_name = _('Parool')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM