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.

Вернуться на верх