Моя модель содержит ненулевой ForeignKey для другой модели, которая также является частью unique_together.
class MyModel:
...
a_link = models.ForeignKey(AnotherModel, null=False)
...
class Meta:
unique_together = ((a_link, ))
Теперь я хочу поменять a_link
между экземплярами MyModel a
и b
. (На самом деле немногим более двух).
Я получаю IntegrityError
с Duplicate, что, возможно, не так странно, но даже atomic()
ничего не меняет к лучшему:
with atomic():
for obj, to_ in a_list.items():
obj.type = to_
obj.save()
Даже установка их снаружи и просто зацикливание save()
внутри atomic()
не помогает.
Застрял ли я в создании алгоритма, который помещает объекты в правильном порядке, использует переменную tmp для одного из них, зацикливает список и затем устанавливает последний?