Django ManyToMany посредническая модель, переместить отношения

Итак, после прочтения документации, касающейся промежуточных моделей, кажется, что не существует встроенного способа изменения одной стороны отношения без очистки всех отношений с этой стороной.

Но как я могу это сделать? Я думал, что мне, возможно, придется хранить все отношения в массиве / объекте, чтобы я мог воссоздать их при необходимости изменить 1 или более отношений.

Мои модели:

Company
Camera
CompanyCameraRelationship

Я хотел бы изменить отношения между Company 1 а также Camera 1 в Company 1 а также Camera 2, Таким образом, чтобы сделать это, я должен очистить все отношения между Company 1 и другие камеры?

Любые мысли будут с благодарностью!

1 ответ

Решение

Вы хотите изменить существующие промежуточные объекты? Вы можете обновить их, используя посредническую модель.

CompanyCameraRelationship.objects.filter(company='Company 1', camera='Camera 1').update(camera='Camera 2')
Другие вопросы по тегам