我已经安装了一个 django 可重用应用程序(Django-Userena),并希望覆盖给定的 models.py 文件。
我创建了一个名为“accounts”的应用程序,它从 Django-Userena 调用。在我的“帐户”应用程序中,我有这个 models.py 文件,它有一个类 MyProfile,它继承自 Django-Userena 类 UserenaBaseProfile - 类 MyProfile(UserenaBaseProfile)
在 UserenaBaseProfile 类中,有以下代码:
privacy = models.CharField(_('privacy'),
max_length=15,
choices=PRIVACY_CHOICES,
default=userena_settings.USERENA_DEFAULT_PRIVACY,
help_text = _('Designates who can view your profile.'))
我想用“editable=False”的额外值来扩展隐私,因为我不希望这个字段显示在自动生成的表单中。
我尝试了几种方法,例如使用新设置在 MyProfile 继承模型中再次调用隐私,但我只知道 Django 的“不允许字段名称“隐藏””(https://docs.djangoproject.com/en/1.4/主题/db/models/#field-name-hiding-is-not-permitted)
我当前的解决方案是在我的“帐户”应用程序 models.py 中简单地包含整个 UserenaBaseProfile 类,然后再调用下面的类 MyProfile(UserenaBaseProfile)。
对我来说,这看起来不是一个优雅的解决方案。你们如何覆盖可重用应用程序中的 models.py 文件?
非常感谢你。