Django の再利用可能なアプリ (Django-Userena) をインストールしましたが、指定された models.py ファイルを上書きしたいと考えています。
Django-Userena から呼び出す「アカウント」という名前のアプリを作成しました。私の「アカウント」アプリには、Django-Userena クラス UserenaBaseProfile - クラス MyProfile(UserenaBaseProfile) から継承するクラス MyProfile を持つこの models.py ファイルがあります。
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/) しか認識されません。 topic/db/models/#フィールド名非表示不可)
私の現在の解決策は、以下のクラス MyProfile(UserenaBaseProfile) を呼び出す前に、UserenaBaseProfile クラス全体を「アカウント」アプリの models.py に単純に含めることです。
これは私にはエレガントな解決策のようには見えません。再利用可能なアプリで models.py ファイルをオーバーライドするにはどうすればよいですか?
どうもありがとうございました。