私は Django 1.5 で学校のデータベース システムを開発しており、AbstractUser (実際には、AbstractUser の別の抽象サブクラス) をサブクラス化するさまざまなユーザー タイプ (学生、スタッフ、親) を持つことを計画していました。外部で開発されたアプリを自分のシステムに追加しようとしましたが、そのアプリは一部のモデルで ForeignKey でユーザーを使用していますが、ユーザー タイプが「ユーザー」インスタンスではないため、これは失敗します。外部キーに抽象クラスを使用できないため、AbstractUser を使用するようにアプリ モデルを設定できません。次に、settings.py に追加しAUTH_USER_MODEL = 'myapp.MyUser'
、アプリの ForeignKey の User の代わりに settings.AUTH_USER_MODEL を使用することを検討していました。ただし、3 つの異なるユーザー タイプがあるため、これも実行できません。
以前のプロトタイプでは Django 1.4 を使用していましたが、これはカスタム User モデルをサポートしていなかったため、代わりに User への参照がありましたが、これにはクエリごとに追加の結合が必要であり、非常に複雑なクエリにつながっていました。これが私がこれを進める唯一の方法ですか、それとも別の解決策がありますか?