Итак, у меня есть функция администратора Django, которая позволяет мне создать дубликат MyModel
в базе данных:
def save_model(self, request, obj, form, change):
if '_saveasnew' in request.POST:
old_obj_id = resolve(request.path).args[0]
old_obj = MyModel.objects.get(id=old_obj_id)
obj.other_id = old_obj.other_id
obj.status = old_obj.status
obj.project_id = old_obj.project_id
obj.test_url = old_obj.test_url
obj.save()
super(MyModelAdmin, self).save_model(request, obj, form, change)
Это создание работает нормально, но у меня есть другая система, взаимодействующая с этой базой данных, котораявидит ошибки вставки каждый раз, когда вызывается эта функция. Например, если я создаю 2 повторяющихся записи в администраторе Django таким образом, то другая система увидит две ошибки, такие как
Значение дублирующего ключа IntegrityError нарушает уникальное ограничение "my_model_pkey" DETAIL: Key (id)= (1234) уже существует.
Я использую Django 1.11.15 и PostgreSQL 9.5.15.