altairbow / django-db-connection-pool

Database connection pool component library for Django
https://pypi.python.org/pypi/django-db-connection-pool/
MIT License
181 stars 24 forks source link

dj_db_conn_pool.backends.postgis problem with python manage.py CMD #52

Closed espdits closed 7 months ago

espdits commented 9 months ago

When i use python manage.py makemigrations or python manage.py runserver i have this error:

Exception in thread django-main-thread: Traceback (most recent call last): File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/threading.py", line 932, in _bootstrap_inner self.run() File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/threading.py", line 870, in run self._target(*self._args, self._kwargs) File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/site-packages/django/utils/autoreload.py", line 64, in wrapper fn(*args, *kwargs) File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/site-packages/django/core/management/commands/runserver.py", line 136, in inner_run self.check_migrations() File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/site-packages/django/core/management/base.py", line 574, in check_migrations executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS]) File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/site-packages/django/db/migrations/executor.py", line 18, in init self.loader = MigrationLoader(self.connection) File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/site-packages/django/db/migrations/loader.py", line 58, in init self.build_graph() File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/site-packages/django/db/migrations/loader.py", line 235, in build_graph self.applied_migrations = recorder.applied_migrations() File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/site-packages/django/db/migrations/recorder.py", line 81, in applied_migrations if self.has_table(): File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/site-packages/django/db/migrations/recorder.py", line 57, in has_table with self.connection.cursor() as cursor: File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/site-packages/django/utils/asyncio.py", line 26, in inner return func(args, kwargs) File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/site-packages/django/db/backends/base/base.py", line 330, in cursor return self._cursor() File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/site-packages/django/db/backends/base/base.py", line 306, in _cursor self.ensure_connection() File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/site-packages/django/utils/asyncio.py", line 26, in inner return func(*args, *kwargs) File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/site-packages/django/db/backends/base/base.py", line 289, in ensure_connection self.connect() File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/site-packages/django/utils/asyncio.py", line 26, in inner return func(args, **kwargs) File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/site-packages/django/db/backends/base/base.py", line 272, in connect self.init_connection_state() File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/site-packages/django/db/backends/postgresql/base.py", line 310, in init_connection_state super().init_connection_state() File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/site-packages/django/db/backends/base/base.py", line 239, in init_connection_state self.check_database_version_supported() File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/site-packages/django/db/backends/base/base.py", line 210, in check_database_version_supported and self.get_database_version() < self.features.minimum_database_version File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/site-packages/django/db/backends/postgresql/base.py", line 188, in get_database_version return divmod(self.pg_version, 10000) File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/site-packages/django/utils/functional.py", line 57, in get res = instance.dict[self.name] = self.func(instance) File "/home/dev/miniconda3/envs/ENV_PROJECTS/lib/python3.8/site-packages/django/db/backends/postgresql/base.py", line 438, in pg_version return self.connection.info.server_version AttributeError: 'dict' object has no attribute 'server_version'

I use

ad ENGINE in settings.py is this:

DATABASES = { "default": { "ENGINE": "dj_db_conn_pool.backends.postgis",

altairbow commented 8 months ago

Similar to #47, I created a new branch: fix_pg, made some changes to postgis's backend, you can try this branch.

espdits commented 8 months ago

The fix worked, and no longer gives the same error as before. A thousand thanks.

simouel commented 3 months ago

Hi, Do you plan to release this code in a new package version soon ? I would be greatly appreciated Have a nice day. :)