Задача Django по созданию объектов в базе данных систематически срывалась на первой записи

Я использую Django (2.2.5), Docker, celery и базу данных Postgresql. Я написал задачу celery, которая сначала запрашивает базу данных, создает датафрейм с результатами запроса и обновляет_или_создает объекты в базах данных на основе этого датафрейма

код упрощенный

# load queries definition
    queries = dcf_queries_definitions() # this line query the database
    # print(queries)
    if not queries.empty:
        for index, row in queries.iterrows():
            # multiple call to api of another app to look for missing data
            # return **df** dataframe that will be used to create objects in database
        records = df.to_dict(orient='records')
        for record in records:
            try:
                DataCorrectionForm.objects.create(
                    dcf_ide=record['dcf_ide'],
                    category=record['category'],
                    crf=record['crf'], 
                    crf_ide=record['crf_ide'],
                    patient=record['patient'],
                    record_date=record['record_date'],
                    field_name=record['field_name'],
                    field_label=record['field_label'],
                    message=record['message'],
                    field_value=record['field_value'],
                    dcf_status=record['dcf_status'],
                    query_id=record['query_id'],
                    deactivated=record['deactivated'],
                    comments=record['comments']
                )  
            except Exception as e:
                print(record)
                print('Exception raised when trying to update object',e)
                continue 

Но у меня есть OperationalError, который систематически поднимается на первых объектах, которые создаются или обновляются . Сообщение не очень понятно для меня.

OperationalError('сервер закрыл соединение неожиданно\n\tThis вероятно, означает, что сервер завершил работу ненормально\n\tbe до или во время обработки запроса.\n')

Я контролирую данные, которые пытаюсь вставить в модель, и нет никаких проблем. Если я загружаю те же данные из файла csv для вставки в мою базу данных, проблем нет.

Я подозреваю проблему с транзакцией между запросом к базе данных и попыткой вставить в базу данных в одной и той же задаче.

Если я пытаюсь создать объект методом create (не update_or_create) и фиксирую ошибку, то ошибка имеет вид connection already closed.

Я изначально открыл пост здесь, но ответа не получил, но теперь анализ вопроса совсем другой.

Буду признателен за помощь и совет.

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