Django の、
調べた
やりたいことは、関連エンティティ
の
Model自体は
Django: remove all m2m relations - Stack Overflow
関連の
削除
StackOverFlow の記載の コピー&ペーストに なりますが、
以下のようなModelがあるとして、 class Post(models.Model): title = models.CharField(max_length=100) tags = models.ManyToManyField(Tag, blank=True)
tags
のデータを 削除するには、 clear
メソッドを使えばいいようです。 for post in Post.objects.all(): post.tags.clear()
関連の
追加
以下でadd
メソッドでできます。post.tags.add(tag)
補足
clear
メソッドも、add
メソッドも、実行後に save
メソッドの実行は 不要で、
with transaction.atomic():
とかしていなければ、実行時に 変更が 反映されるようです。 1
[1].関連エンティティに対する クエリ発行に なるので、 通常の フィールドと 動きが 異なると いう ことでしょうか? なんか 納得しました。
以上です。
コメント