Django project : В текущей транзакции произошла ошибка. Вы не можете выполнять запросы до конца блока 'atomic' [duplicate].
В этом проекте django я пытаюсь сохранить или обновить мою базу данных с данными из API.Вот структура моих моделей
models.py
def A(models.Model):
number=models.CharField(max_length=50,blank=True,null=True,unique=True)
sayfa=CharField(max_length=100,blank=True,null=True)
def B(models.Model):
link=models.ForeignKey(A, on_delete=models.CASCADE)
adress=models.CharField(max_length=255,blank=True,null=True)
в данном конкретном случае каждый элемент A может содержать несколько строк B. А поскольку данные поступают из API, я хотел бы сохранить их на уровне моей базы данных и, если элемент существует, обновить его
views.py
def test(request):
url='http://myapi/data'
x=requests.get(url)
content=x.json()
all_data=content['data']
for my_data in all_data:
bv, _ = B.objects.update_or_create(adress=my_data['adress'])
bv.save()
mala=B.objects.all()
context={'data':mala}
return render(request,'account/list.html',context)
При выполнении я получаю ошибку (В текущей транзакции произошла ошибка. Вы не можете выполнять запросы до конца блока 'atomic'). Здесь каждая строка из A может иметь несколько строк в таблице B.