Env: Django 1.5.1 + Django CMS 2.4.1 + Zinnia 最新版 + カスタム アプリ + カスタム Django CMS プラグイン
基本的に、NetTuts+ の Django Ribbit Tutorialのように、デフォルトの Django (1.5.X) ユーザー モデルを拡張できます。
また
パラグラフのDjango Dev docや Django2Scoops の例のような完全にカスタマイズされたモデルに置き換えます: 「ユーザー モデルの取り扱い」
テストするために、Django2Scoops book からの Subclass AbstractUser を決定しました:「Django のユーザー モデル フィールドをそのまま気に入っているが、追加の ..フィールドが必要な場合は、このオプションを選択してください。」
しかし、次のエラーがあります。
notification.noticesetting: 'user' は、スワップ アウトされたモデル 'auth.User' との関係を定義します。settings.AUTH_USER_MODEL を指すようにリレーションを更新します。cmsplugin_zinnia.latestentriesplugin: 'authors' は、スワップ アウトされたモデル 'auth.User' との関係を定義します。settings.AUTH_USER_MODEL を指すようにリレーションを更新します。
cms.pageuser: 'created_by' は、スワップ アウトされたモデル 'auth.User' との関係を定義します。settings.AUTH_USER_MODEL を指すようにリレーションを更新します。cms.pageusergroup: 'created_by' は、スワップ アウトされたモデル 'auth.User' との関係を定義します。settings.AUTH_USER_MODEL を指すようにリレーションを更新します。
何時間もの読書とテストの後、私は見つけました
カスタム User モデル (AbstractUser を拡張) の指定が機能しない
エラー メッセージにあるように、settings.AUTH_USER_MODEL を指すようにリレーションを更新する必要があります。2 番目のエラー ("Model has been swapped out...") は、User モデルを直接参照しているという事実の副作用です。ForieignKey 参照を変更すると、この 3 番目のエラーはなくなります。新しい User モデルへのスムーズな移行を確実にするためにできる限りのことを行いましたが、完全に透明にすることはできません。アプリの作成者は、アプリを 1.5 互換に更新する必要があります。基本的に、Django 1.4 アプリは、User へのハードコーディングされた外部キー参照が含まれている場合、Django 1.5 と 100% 互換ではありません。もっと例を教えてください。
Django /Python: settings.AUTH_USER_MODEL を指すようにリレーションを更新します。
settings_example.py には、AUTH_USER_MODEL = 'users.User' があります。ただし、django.contrib.auth.User と関係のあるアプリ - menu.bookmark - を使用しています - 両方を持つことはできません。AUTH_USER_MODEL を設定することは、組み込みの Django ユーザー モデルを独自のものに置き換えることを意味します。詳細について は、 http://proclastinatingdev.com/django/using-configurable-user-models-in-django-1-5/ を参照してください。
しかし、どうすればこれを解決できるのかわかりません。
私が必要とするもの:
-ユーザーは機関クラスにリンクされています (1 つの機関 -> より多くのユーザー)
-ユーザーまたは機関は、異なる権限を持ち、異なる django cms ページ/プラグインを表示できます。
-ユーザー用のさらにいくつかのフィールド。
サブクラス AbstractUser は正しいポイントですか?
「スワップアウト」エラーを解決するにはどうすればよいですか?
OpenTreeMap コードに似たものを作成する必要があります
このコードは廃止されていませんか?
ありがとう!