DjangoManyToManyFieldがm2mの関係を保存しない

アレックス

私は次のように定義されたモデルを持っています:

class Vote(models.Model):
    text = models.CharField(max_length=300)
    voters = models.ManyToManyField(CustomUser, blank=True)
    game = models.ForeignKey(Game, on_delete=models.CASCADE)

投票が作成されたときに、関連するゲームのすべてのプレーヤーを投票者リストに自動的に追加する投票が必要です。Game私は投票モデルの保存メソッドをオーバーライドしているので、モデルは、その選手を返すメソッドがあります。

def save(self, *args, **kwargs):
    super().save(*args, **kwargs) #As the docs state it must be saved before m2m elements can be added
    queryset = self.game.get_players
    for player in queryset:
        self.voters.add(player.id)

これは動作しません。エラーはスローされず、管理サイトを介してモデルインスタンスを問題なく保存します。ただし、votersフィールドにプレーヤーが追加されていないようです(また、vote_votersテーブルはデータベースで空のままです)。

明らかなトラブルシューティング:クエリセットは間違いなく空ではなく、saveメソッドが確実に呼び出されています。

アレックス

これは管理セクションの問題であることが判明しました。質問に示されている正確な保存方法を使用すると、フォームから送信したときに完全に機能しました。この回答への@Selcukのリンクこの回答は問題を解決しました

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

保存方法を使用してM2M関係を拡張する

分類Dev

Djangoはループなしで複数のm2m関係を削除します

分類Dev

Django:関係v2を介したm2mのprefetch_related()

分類Dev

DjangoのM2M関係にないモデルからオブジェクトを取得する

分類Dev

djangoはm2mの関係が本当に必要ですか?

分類Dev

django ORM-F関数が機能しないM2Mで除外

分類Dev

Django:m2mの関係により、1行ではなく2行が作成されます

分類Dev

M2MとFKの関係を持つDjangoモデルの正確な複製を作成する方法

分類Dev

Djangoでm2m関係のオブジェクトを変更する

分類Dev

中間テーブルを使用して、テンプレートにm2mの関係を表示するにはどうすればよいですか?

分類Dev

すべてのm2m関係のDjangoループ

分類Dev

Djangoでモデル継承を使用したM2M関係の保存後のシグナルを処理するにはどうすればよいですか?

分類Dev

PowerPivotでm2m関係を作成する方法

分類Dev

Djangoモデルフォーム:m2mの裏側が保存されない

分類Dev

SQLAlchemy lazy =動的関連付けオブジェクトパターンを使用したm2m関係

分類Dev

2つのモデル間の1つの特定のM2M関係を削除するにはどうすればよいですか?

分類Dev

Sonata Adminでm2m関係を構成するにはどうすればよいですか?

分類Dev

親と子供および兄弟のためのm2m関係を構築する

分類Dev

DjangoユーザーテーブルとのM2M関係を作成する方法

分類Dev

Django多対多(m2m)同じモデルとの関係

分類Dev

モデル内のすべてのm2m関係をDRFシリアライザーの異なるオブジェクトとして取得します

分類Dev

Laravelが関係をすぐに保存しないのはなぜですか?

分類Dev

Django管理者はタグ(アイテムのm2mフィールド)に基づいてm2mアイテムを選択します

分類Dev

NHibernateの単方向の1対多の関係が外部キーを保存しない

分類Dev

Grailsの関係が保存されない

分類Dev

Django管理者のカスタムM2M検証がユーザーに表示されない

分類Dev

m2m関係からユーザーを取得するためにクエリを実行する方法

分類Dev

新しく作成されたインスタンスのsaveメソッドでm2m関係にアクセスします

分類Dev

モデル内のM2Mフィールドのすべての可能な値を取得します

Related 関連記事

  1. 1

    保存方法を使用してM2M関係を拡張する

  2. 2

    Djangoはループなしで複数のm2m関係を削除します

  3. 3

    Django:関係v2を介したm2mのprefetch_related()

  4. 4

    DjangoのM2M関係にないモデルからオブジェクトを取得する

  5. 5

    djangoはm2mの関係が本当に必要ですか?

  6. 6

    django ORM-F関数が機能しないM2Mで除外

  7. 7

    Django:m2mの関係により、1行ではなく2行が作成されます

  8. 8

    M2MとFKの関係を持つDjangoモデルの正確な複製を作成する方法

  9. 9

    Djangoでm2m関係のオブジェクトを変更する

  10. 10

    中間テーブルを使用して、テンプレートにm2mの関係を表示するにはどうすればよいですか?

  11. 11

    すべてのm2m関係のDjangoループ

  12. 12

    Djangoでモデル継承を使用したM2M関係の保存後のシグナルを処理するにはどうすればよいですか?

  13. 13

    PowerPivotでm2m関係を作成する方法

  14. 14

    Djangoモデルフォーム:m2mの裏側が保存されない

  15. 15

    SQLAlchemy lazy =動的関連付けオブジェクトパターンを使用したm2m関係

  16. 16

    2つのモデル間の1つの特定のM2M関係を削除するにはどうすればよいですか?

  17. 17

    Sonata Adminでm2m関係を構成するにはどうすればよいですか?

  18. 18

    親と子供および兄弟のためのm2m関係を構築する

  19. 19

    DjangoユーザーテーブルとのM2M関係を作成する方法

  20. 20

    Django多対多(m2m)同じモデルとの関係

  21. 21

    モデル内のすべてのm2m関係をDRFシリアライザーの異なるオブジェクトとして取得します

  22. 22

    Laravelが関係をすぐに保存しないのはなぜですか?

  23. 23

    Django管理者はタグ(アイテムのm2mフィールド)に基づいてm2mアイテムを選択します

  24. 24

    NHibernateの単方向の1対多の関係が外部キーを保存しない

  25. 25

    Grailsの関係が保存されない

  26. 26

    Django管理者のカスタムM2M検証がユーザーに表示されない

  27. 27

    m2m関係からユーザーを取得するためにクエリを実行する方法

  28. 28

    新しく作成されたインスタンスのsaveメソッドでm2m関係にアクセスします

  29. 29

    モデル内のM2Mフィールドのすべての可能な値を取得します

ホットタグ

アーカイブ