私はデータ管理のためにDjango adminを使用しています。 ユーザー、グループ、およびドメインテーブルがあります ユーザーテーブルには、グループとドメインテーブルとの関係が多岐にわたります。 ドメインテーブルは、グループテーブルと1対多の関係を持っています。 adminを使用してUserデータを保存すると、users_groupテーブルとusers_domainsテーブルにいくつかの追加データベースの更新が必要になります。 どうすればいいですか?どこにコードを記述しますか?おかげさまで Django Admin
0
A
答えて
2
私はあなたがInlineModelsを探していると思います。それらを使用すると、親モデルと同じページ内の関連するモデルを編集できます。これ以上のコントロールが必要な場合は、ModelAdmin save methodsを無効にすることができます。
また、必要なときには常にManualをチェックしてください。それは本当にとても良いです。
0
他のデータベーステーブルを更新する最もよい方法は、必要な取得および保存操作を実行することです。ただし、多対多の関係を持つ場合、デフォルトでは、関係の両側は_setパラメーターからアクセスできます。つまり、user.group_set.all()はユーザーに関連付けられたすべてのGroupオブジェクトを提供し、group.user_set.all()はグループに関連付けられたすべてのUserオブジェクトを提供します。あなたがメソッドを保存(または信号リスナーを登録する - 文体より満足に聞こえる方オプション)をオーバーライドあれば、試してみてください。
for group in user.group_set.all():
#play with group object
....
group.save()
関連する問題
- 1. Django AdminのManyToManyFields
- 2. Django admin、カスタムエラーメッセージ?
- 3. Django admin url.py
- 4. Django admin GenericForeignKeyウィジェット
- 5. django-admin --versionエラー
- 6. Django admin is_staff(グループベース)
- 7. Django Adminのカスタムアクション
- 8. Django admin list_filter duplicate
- 9. Django Embed Admin Form
- 10. Django-empty Adminインターフェイス
- 11. Django - Admin - Mandatory Inlines
- 12. Djangoカスタムユーザadmin change_password
- 13. djangoのグループモデルadmin
- 14. django admin action
- 15. Django admin list_display newline
- 16. Djangoのadminサイト
- 17. Django admin exclude filter
- 18. Django admin GenericForeignKey inline
- 19. Django Admin escaping text
- 20. Django 1.10 python 3.5 django-admin-tools
- 21. DjangoのGenericForeignKeyとAdmin
- 22. Django Admin:数値フィールドフィルタ
- 23. django.jQuery with django admin change_form.html
- 24. Django admin add ajax call
- 25. Django Guardian TemplateSyntaxError In Admin
- 26. django admin login not redirecting
- 27. Changin admin email in Django
- 28. FieldError on django admin fieldsets
- 29. Django Admin Fkグループ化
- 30. Django admin 'save_as' with inlines
パオロ: 私はsaveメソッドをオーバーライドする必要があるように見えます。 私が前に述べたように、いくつかのデータベーステーブルを更新する必要があります。残りの操作は通常どおり実行します。それ、どうやったら出来るの。 ありがとう –
ドキュメントの例を参照してください。 AdminModelクラスにsave_modelという名前の関数を定義し、そこに必要な処理を行います。 –
私はsave_modelで遊んでいました。 save()を明示的に呼び出さなくても、ここに置かれたステートメントが実行され、save操作が実行されるように見えます。これは正しい行動ですか?私はdjangoのWebサイトでそれ以上のドキュメントを見つけることができません。ありがとう。 –