2009-04-21 3 views
0

질문이 있습니다. 다 대다 관계 (Article, Publication)에서 두 모델을 가지고 있다고 가정 해보십시오. Article A는 Publication One, Two 및 Three에 있습니다. 그 간행물에서 그것을 제거하고 발행 X에 넣고 싶습니다. 장고 문서는 개체를 삭제하고 개체를 추가하는 것을 다루지 만 개체를 ​​삭제하거나 추가하고 싶지는 않습니다. 단순히 이동 만하면됩니다. 어떻게하면 좋을까요? 사전에하나의 many-to-many 연관에서 django의 다른 것으로의 객체 이동

감사합니다,

J

답변

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에서이 작업을 수행하는 좋은 예입니다.

관련 문제