質問があります。多対多の関係にある2つのモデルがあるとします(記事、出版物)。記事Aは、出版物1、2、および3にあります。それらのパブリケーションから削除して、パブリケーションXに配置したいと思います。djangoのドキュメントでは、オブジェクトの削除と追加について説明していますが、オブジェクトを削除したり追加したりするのではなく、単に「移動」するだけです。どうすればいいですか?
前もって感謝します、
J
質問があります。多対多の関係にある2つのモデルがあるとします(記事、出版物)。記事Aは、出版物1、2、および3にあります。それらのパブリケーションから削除して、パブリケーションXに配置したいと思います。djangoのドキュメントでは、オブジェクトの削除と追加について説明していますが、オブジェクトを削除したり追加したりするのではなく、単に「移動」するだけです。どうすればいいですか?
前もって感謝します、
J
pubx = Pubblication(.....)
pubx.save()
article_obj = Article.objects.get(id=1)
remove_from_lst = ["pubblication a", "pubblication b", "pubblication c"]
remove_from_qs = Pubblication.objects.filter(name__in=remove_from_lst)
for qs in remove_from_qs:
article_obj.pubblications.remove(qs)
article_obj.pubblications.add(pubx)
article.save()
パブリケーション 1、2、および 3 との関連付けを削除し、パブリケーション x との関連付けを作成するだけです。
# `a` being an instance of the Article object, pub{1,2,3,x}, being
# instances of Publication objects
a.publications.remove(pub1)
a.publications.remove(pub2)
a.publications.remove(pub3)
a.publications.add(pubx)
これを行う方法の良い例がdjango docsにあります。