Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

256
Visualizações
Error de clave de Django y Azure SQL 'aplazable' al iniciar el comando de migración

Intento conectar Django a Azure SQL y aparece el error KeyError: diferible cuando empiezo a migrar el comando. No puedo encontrar una solución para este problema.

Yo uso esta aplicación:

 asgiref==3.2.10 Django==3.1 django-mssql-backend==2.8.1 pyodbc==4.0.30 pytz==2020.1 sqlparse==0.3.1

y esta es mi configuración en settings.py:

 DATABASES = { 'default': { 'ENGINE': 'sql_server.pyodbc', 'NAME': 'DBNAME', 'USER': 'DBUSER', 'PASSWORD': 'PASSWORD', 'HOST': 'databasename.database.windows.net', 'PORT': '1433', 'OPTIONS': { 'driver': 'ODBC Driver 17 for SQL Server', }, }, }

El error es cuando trato de ejecutar 'manage.py migrate'. Todo funciona bien hasta el octavo paso. Aquí está la salida:

 (venv) C:\Users\...\...\>python manage.py migrate Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions Running migrations: Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying admin.0003_logentry_add_action_flag_choices... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length...Traceback (most recent call last): File "manage.py", line 22, in <module> main() File "manage.py", line 18, in main execute_from_command_line(sys.argv) File "C:\Users\...\...\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line utility.execute() File "C:\Users\...\...\lib\site-packages\django\core\management\__init__.py", line 395, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\Users\...\...\lib\site-packages\django\core\management\base.py", line 330, in run_from_argv self.execute(*args, **cmd_options) File "C:\Users\...\...\lib\site-packages\django\core\management\base.py", line 371, in execute output = self.handle(*args, **options) File "C:\Users\...\...\lib\site-packages\django\core\management\base.py", line 85, in wrapped res = handle_func(*args, **kwargs) File "C:\Users\...\...\lib\site-packages\django\core\management\commands\migrate.py", line 243, in handle post_migrate_state = executor.migrate( File "C:\Users\...\...\lib\site-packages\django\db\migrations\executor.py", line 117, in migrate state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial) File "C:\Users\...\...\lib\site-packages\django\db\migrations\executor.py", line 147, in _migrate_all_forwards state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial) File "C:\Users\...\...\lib\site-packages\django\db\migrations\executor.py", line 227, in apply_migration state = migration.apply(state, schema_editor) File "C:\Users\...\...\lib\site-packages\django\db\migrations\migration.py", line 124, in apply operation.database_forwards(self.app_label, schema_editor, old_state, project_state) File "C:\Users\...\...\lib\site-packages\django\db\migrations\operations\fields.py", line 236, in database_forwards schema_editor.alter_field(from_model, from_field, to_field) File "C:\Users\...\...\lib\site-packages\django\db\backends\base\schema.py", line 571, in alter_field self._alter_field(model, old_field, new_field, old_type, new_type, File "C:\Users\...\...\lib\site-packages\sql_server\pyodbc\schema.py", line 479, in _alter_field self.execute(self._create_unique_sql(model, columns=[old_field.column])) File "C:\Users\...\...\lib\site-packages\sql_server\pyodbc\schema.py", line 861, in execute sql = str(sql) File "C:\Users\...\...\lib\site-packages\django\db\backends\ddl_references.py", line 200, in __str__ return self.template % self.parts KeyError: 'deferrable' (venv) C:\Users\...\...>

pero si me conecto a la base de datos, veo una tabla creada desde Django.

por favor ayuda Gracias!

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

django-mssql-backend actualmente compatible hasta Django 3.0.10 . La solución temporal es degradar su versión de Django de Django 3.1.x a 3.0.10 .

solicitud de error planteada aquí: https://github.com/ESSolutions/django-mssql-backend/issues/63

Editado:

Otra solución, use el paquete de soporte Django oficial de Microsoft para superar todos los problemas, el soporte es muy bueno.

https://github.com/microsoft/mssql-django

over 4 years ago · Santiago Trujillo Relatório

0

Me encontré con este mismo problema hoy. Regrese a Django 3.0.x (regresé a 3.0.6) y luego ejecute sus migraciones.

Me doy cuenta de que eso no es una solución, pero al menos es una solución para que puedas comenzar. Una vez que migre, debería poder actualizar de nuevo a 3.1 y funcionará bien.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda