Обновление нескольких таблиц в Django
Я новичок в Django и СУБД .У меня есть таблица 1 и таблица 2, я обновляю обе и если таблица 1 была успешно обновлена, я перехожу к процессу обновления таблицы 2, если произошла ошибка при обновлении таблицы 2, то мне нужно вернуть изменения, которые я сделал в таблице 1. как я могу достичь этого в Django?
Вот код, который я примерно сделал
def user_operation(request, id):
if request.method == 'PUT':
try:
json_fetch = json.loads(request.body)
update_emp = EmpDetailsModel.objects.get(emp_id=id)
for key,value in json_fetch.items():
flag = 0
if key == 'contact':
cont_update = EmpDetailsModel.objects.get(emp_id=id)
for contact in value:
flag = cont_update.empcontactmodel_set.create(phone_number=contact['number'], dev_type=contact['type'])
if flag == 0: return JsonResponse({'Error':'There was an Error !'})
continue
flag = update_emp.update(**{key:value})
if flag == 0: return JsonResponse({'Error':'There was an Error !'})
except KeyError:
return JsonResponse({'Error':'Invalid Key in request!'})
Существует очень эффективное использование, которое называется атомарным блоком. Для получения дополнительной информации и использования : docs