Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

251
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!