2009-04-21 62 views
0

有問題。假設我有兩種模式,即多對多關係(Article,Publication)。 A條在出版物一,二,三。我想從這些出版物中刪除它,並將它放到出版物X.Django文檔涵蓋了刪除對象和添加對象,但我不想刪除或添加對象,只是「移動」它們。我將如何做到這一點?在django中將對象從一個多對多關聯移動到另一個關聯?

由於提前,

Ĵ

回答

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() 
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中的一個很好的例子。

相關問題