Django/Postgresql последовательность не устанавливается при создании объектов в представлениях

Я написал представление, которое загружает файл excel как кадр данных и использует этот кадр для создания или обновления записей в базе данных Postgresql. Но я не могу понять, почему последовательность записей в Postgresql не обновляется? Это приводит к ошибке базы данных при попытке добавить другие записи через формы администратора.

Мой стек: Django 2.2.5/Python 3.7.4/Docker/Docker-compose/Postgresql Используется 2 модели: PData (86 записей) и PForm (22 записи), с PData_ide_seq и PForm_ide_seq, соответственно

Когда я проверяю PForm_ide_seq, текущее значение равно 1 вместо 22

Что происходит?

@login_required
def update_parameters(request):
    
    if request.is_ajax() and request.method == "POST":
        
        if ParametersFile.objects.all():

            LAST_PARAMETER_FILE = ParametersFile.objects.all().last().upload       
            dcf_queries = pd.read_excel(f'./{ LAST_PARAMETER_FILE }',sheet_name='data_queries_definitions').fillna('')
            missing_forms_queries = pd.read_excel(f'./{ LAST_PARAMETER_FILE }',sheet_name='form_queries_definitions').fillna('')
            print(LAST_PARAMETER_FILE)

            for record in dcf_queries.to_dict(orient='records'):
                PData.objects.update_or_create(
                    ide=record['ide'], # filter to search for existing objects => should not be pass to default (if not IntegrityError)
                    defaults = {
                        'query_type':record['query_type'],
                        'crf_name':record['crf_name'],
                        'crf_table':record['crf_table'],
                        'variable_name':record['variable_name'],
                        'variable_label':record['variable_label'],
                        'query_condition':record['query_condition'],
                        'query_message':record['query_message'],
                        'fields_to_display':record['fields_to_display'],
                        'activated': True if record['activated'] == 1 else False,
                    }
                )

            for record in missing_forms_queries.to_dict(orient='records'):
                PForm.objects.update_or_create(
                    ide=record['ide'], # filter to search for existing objects => should not be pass to default (if not IntegrityError)
                    defaults = {
                        'query_type':record['query_type'],
                        'source_form':record['source_form'],
                        'source_condition':record['source_condition'],
                        'search_form':record['search_form'],
                        'search_condition':record['search_condition'],
                        'query_message':record['query_message'],
                        'activated': True if record['activated'] == 1 else False,
                    }
                )

            return JsonResponse({"response": "Queries definitions table updated",}, status=200)
        else:
            return JsonResponse({"response": "No parameters file",}, status=200)
        
    return JsonResponse({"response": "Not ajax",}, status=200)

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