ユーザー オブジェクト (ユーザーの編集) のデフォルトの Django 管理ビューでは、ユーザーのグループ メンバーシップを編集できます。これを逆にしたい場合はどうなりますか?つまり、グループ編集ページでは、編集中のグループに属するユーザーを選択できます。
これを見ると、Django には Group から User オブジェクトへの ManyToMany マッピングがないため、この特定のケースで ModelAdmin クラスを実装することは不可能 (?) になっています。追加の UsersOfGroup モデル クラスを作成し、それを Django の Group モデルの ManyToMany フィールドでスルー属性として使用できれば、方法はあるでしょう。
ModelAdmin のトリックを使用してこれを実装することは可能ですか、それともグループを編集するためのカスタム ビューを作成する必要がありますか?
これらの他の2つの質問を確認しましたが、まったく同じことをしていません:
と
更新: Chris からの回答はほとんどありませんでした。:) グループには users セットへの参照がありますが、usersではなくuser_setと呼ばれます。だから、これらは私が行った変更です:
if self.instance and self.instance.pk:
self.fields['users'].initial = self.instance.user_set.all()
と
if group.pk:
group.user_set = self.cleaned_data['users']