Realicé la configuración del servidor varias veces con la misma configuración, pero esta vez veo el mensaje de error. Ni siquiera permite migrar la base de datos.
System check identified no issues (0 silenced). Exception in thread django-main-thread: Traceback (most recent call last): File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner self.run() File "/usr/lib/python3.9/threading.py", line 892, in run self._target(*self._args, **self._kwargs) File "/home/datanal/datanal-samply/venv/lib/python3.9/site-packages/django/utils/autoreload.py", line 53, in wrapper fn(*args, **kwargs) File "/home/datanal/datanal-samply/venv/lib/python3.9/site-packages/django/core/management/commands/runserver.py", line 120, in inner_run self.check_migrations() File "/home/datanal/datanal-samply/venv/lib/python3.9/site-packages/django/core/management/base.py", line 458, in check_migrations executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS]) File "/home/datanal/datanal-samply/venv/lib/python3.9/site-packages/django/db/migrations/executor.py", line 18, in __init__ self.loader = MigrationLoader(self.connection) File "/home/datanal/datanal-samply/venv/lib/python3.9/site-packages/django/db/migrations/loader.py", line 49, in __init__ self.build_graph() File "/home/datanal/datanal-samply/venv/lib/python3.9/site-packages/django/db/migrations/loader.py", line 212, in build_graph self.applied_migrations = recorder.applied_migrations() File "/home/datanal/datanal-samply/venv/lib/python3.9/site-packages/django/db/migrations/recorder.py", line 77, in applied_migrations return {(migration.app, migration.name): migration for migration in self.migration_qs} File "/home/datanal/datanal-samply/venv/lib/python3.9/site-packages/django/db/models/query.py", line 276, in __iter__ self._fetch_all() File "/home/datanal/datanal-samply/venv/lib/python3.9/site-packages/django/db/models/query.py", line 1261, in _fetch_all self._result_cache = list(self._iterable_class(self)) File "/home/datanal/datanal-samply/venv/lib/python3.9/site-packages/django/db/models/query.py", line 57, in __iter__ results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size) File "/home/datanal/datanal-samply/venv/lib/python3.9/site-packages/django/db/models/sql/compiler.py", line 1170, in execute_sql return list(result) File "/home/datanal/datanal-samply/venv/lib/python3.9/site-packages/django/db/models/sql/compiler.py", line 1569, in cursor_iter for rows in iter((lambda: cursor.fetchmany(itersize)), sentinel): File "/home/datanal/datanal-samply/venv/lib/python3.9/site-packages/django/db/models/sql/compiler.py", line 1569, in <lambda> for rows in iter((lambda: cursor.fetchmany(itersize)), sentinel): File "/home/datanal/datanal-samply/venv/lib/python3.9/site-packages/django/db/utils.py", line 97, in inner return func(*args, **kwargs) File "/home/datanal/datanal-samply/venv/lib/python3.9/site-packages/django/db/backends/postgresql/utils.py", line 6, in utc_tzinfo_factory raise AssertionError("database connection isn't set to UTC") AssertionError: database connection isn't set to UTCAquí está mi settings.py para la zona horaria.
LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = TrueSistema operativo: Ubuntu 21.04 Versión de Python: 3.9.5 Versión de Django: 3.0 PostgreSQL: 13.3
También pasé por otra pregunta pero no encontré ninguna solución. ¿Hay alguien que pueda ayudarme a hacer esto? Tengo una configuración de servidor múltiple con el mismo código sin cambiar nada y funcionó, pero esta vez no es así.
Una actualización reciente de psycopg2 versión 2.9 está causando este problema, como se explica en este problema de GitHub:
https://github.com/psycopg/psycopg2/issues/1293#issuecomment-862835147
Psycopg 2.9 cambió el valor pasado a tzinfo_factory de int a timedelta. Django 2.2 (posiblemente más nuevo pero estoy en 2.2) tiene un control de desplazamiento == 0 y desde timedelta(0) != 0 se dispara.
Una solución actual sería degradar psycopg2 (o psycopg2-binary si está usando el paquete independiente) por debajo de 2.9 (por ejemplo psycopg2>=2.8,<2.9 ) en su archivo de requisitos.
Por ejemplo, puede cambiar a 2.8.6 usando:
pip install psycopg2==2.8.6o
pip install psycopg2-binary==2.8.6 Si está usando poesía, puede poetry add psycopg2@2.8.6 para corregir su versión a 2.8.6 .
Historial de versiones de psycopg2
Tuve el mismo problema y lo solucioné simplemente eliminando esta línea de mi archivo settings.py
USE_TZ = TrueResolví esto actualizando Django en lugar de degradar psycopg. No sé qué versión resuelve el problema exactamente, pero la 3.2 ciertamente lo hace.
La respuesta aceptada está desactualizada ahora y debe decidir no degradar si tiene la opción de actualizar Django en su lugar.