Django ManyToMany中介模式,移动关系

时间:2017-05-17 18:51:31

标签: django django-models django-related-manager

因此,在阅读有关中间模型的文档之后,似乎没有内置的方式来改变关系的一方而不清除与该方的所有关系。

但是我怎么能这样做呢?我想我可能必须将所有关系存储在数组/对象中,以便在需要更改一个或多个关系时重新创建它们。

我的模特:

Company
Camera
CompanyCameraRelationship

我希望将Company 1Camera 1之间的关系更改为Company 1Camera 2。所以为了做到这一点,我必须清除Company 1和其他相机之间的所有关系?

任何想法都将不胜感激!

1 个答案:

答案 0 :(得分:0)

您是否想要更改现有的中间对象?您可以使用中间模型更新它们。

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