2017-05-17 3 views
0

중간 모델과 관련된 문서를 읽은 후에는 해당 측면과의 모든 관계를 지우지 않고 관계의 한면을 변경하는 기본 방법이없는 것으로 보입니다.Django ManyToMany 중개자 모델, 이동 관계

하지만 어쨌든 이것을 수행 할 수 있습니까? 하나 이상의 관계를 변경할 필요가있을 때 배열을 다시 만들 수 있도록 모든 관계를 배열/개체에 저장해야 할 수도 있다고 생각했습니다.

내 모델 :

Company 
Camera 
CompanyCameraRelationship 
내가 Company 1Camera 2Company 1Camera 1 사이의 관계를 변경하려는 것

. 그래서 이렇게하려면 모두Company 1 사이의 관계와 다른 카메라를 삭제해야합니까?

의견을 보내 주시면 대단히 감사하겠습니다.

답변

0

기존 중개 개체를 변경 하시겠습니까? 중간 모델을 사용하여 업데이트 할 수 있습니다.

CompanyCameraRelationship.objects.filter(company='Company 1', camera='Camera 1').update(camera='Camera 2') 
+0

WHAT !? 농담하는거야. 왜이 문서에 언급되지 않은거야? 그리고 만약 그렇다면, 당신은 그것을 나에게 지적 할 수 있습니까? – dcolumbus

+0

@dcolumbus 다른 모델과 마찬가지로 관통 모델을 사용하여 작업 할 수 있습니다. https://docs.djangoproject.com/en/1.11/topics/db/models/#extra-fields-on-many-to-many-relationships 모델을 어떻게 사용할 수 있는지 설명합니다. – ARJMP

+0

Brilliant! 고맙습니다. – dcolumbus