質問があります。多対多の関係で2つのモデルがあるとします(Article、Publication)。記事Aは、出版物1,2および3に記載されている。それらの出版物から削除して出版物Xに入れたいと思います.Djangoのドキュメントでは、オブジェクトの削除やオブジェクトの追加について扱いますが、オブジェクトを削除したり追加したりするのではなく、移動するだけです。どうすればいい?事前にオブジェクトを複数の多対多の関連付けからdjangoの別のものに移動するには?
おかげで、
J
質問があります。多対多の関係で2つのモデルがあるとします(Article、Publication)。記事Aは、出版物1,2および3に記載されている。それらの出版物から削除して出版物Xに入れたいと思います.Djangoのドキュメントでは、オブジェクトの削除やオブジェクトの追加について扱いますが、オブジェクトを削除したり追加したりするのではなく、移動するだけです。どうすればいい?事前にオブジェクトを複数の多対多の関連付けから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()
:
# `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でこれを行う方法の良い例です。