0

ユーザーとプロジェクトのアプリがあり、プロジェクトごとにdjango-authを拡張するためのロールと呼ばれる別のアプリを定義したいと思います。

RolesアプリでProjectMembershipをカスタムのManyToManyリレーションシップモデルとして定義しました。throughしかし、宣言を使用してユーザーまたはプロジェクトモデルでM2Mフィールドを定義するにはどうすればよいですか?

では、問題は、別のアプリからモデルのフィールドを定義できるかどうかです。

4

2 に答える 2

1

私はそれが可能だとは思いません、そしてそれが可能であるとしても、それは私の意見では非常に悪い解決策です。

最善のオプションは、2つのFK(1つはユーザー用、もう1つはプロジェクト用)を使用してProjectMembershipモデルを作成することだと思います。次に、手動のM2Mリレーションがあり、M2Mリレーションを操作するためにすべての優れたDjango機能を使用することはできません。

ただし、この機能が必要な場合(これらは必要ありません)、ユーザーモデルまたはプロジェクトモデルのいずれかを変更する必要があります。

于 2010-07-02T08:51:10.350 に答える
1

はい、できます。djangoは自動的に逆の関係を作成します。related_name名前を付けるために使用してください!

Userモデルを変更(マネーパッチ)することはお勧めできません。拡張する場合は、次のいずれかの方法で実行します。

于 2010-07-02T09:30:37.247 に答える