0
有問題。假設我有兩種模式,即多對多關係(Article,Publication)。 A條在出版物一,二,三。我想從這些出版物中刪除它,並將它放到出版物X.Django文檔涵蓋了刪除對象和添加對象,但我不想刪除或添加對象,只是「移動」它們。我將如何做到這一點?在django中將對象從一個多對多關聯移動到另一個關聯?
由於提前,
Ĵ
有問題。假設我有兩種模式,即多對多關係(Article,Publication)。 A條在出版物一,二,三。我想從這些出版物中刪除它,並將它放到出版物X.Django文檔涵蓋了刪除對象和添加對象,但我不想刪除或添加對象,只是「移動」它們。我將如何做到這一點?在django中將對象從一個多對多關聯移動到另一個關聯?
由於提前,
Ĵ
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中的一個很好的例子。