0

質問があります。多対多の関係にある2つのモデルがあるとします(記事、出版物)。記事Aは、出版物1、2、および3にあります。それらのパブリケーションから削除して、パブリケーションXに配置したいと思います。djangoのドキュメントでは、オブジェクトの削除と追加について説明していますが、オブジェクトを削除したり追加したりするのではなく、単に「移動」するだけです。どうすればいいですか?

前もって感謝します、

J

4

2 に答える 2

2
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()
于 2009-04-21T19:14:20.480 に答える
1

パブリケーション 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にあります。

于 2009-04-21T19:12:04.543 に答える