#30740: collectstatic tries to connect to database
------------------------------------------+-------------------------------
Reporter: PaszaVonPomiot | Owner: nobody
Type: Bug | Status: new
Component: GIS | Version: 2.1
Severity: Normal | Keywords: collectstatic
Triage Stage: Unreviewed | Has patch: 0
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
------------------------------------------+-------------------------------
In models.py I have a model AbcRules with attribute that queries another
model:
{{{
ASSIGN_CHOICES = [team for team in
sorted(set(People.objects.all().values_list("SquadName", flat=True)))]
}}}
For some reason during collectstatic execution Django tries to connect to
database which fails on RedHat. The same collectstatic command will work
on Windows. The problem is somewhat similar to:
https://code.djangoproject.com/ticket/17656
and maybe
https://code.djangoproject.com/ticket/23514
{{{
---> Collecting Django static files ...
Traceback (most recent call last):
File "/opt/app-root/lib/python3.6/site-
packages/django/db/backends/base/base.py", line 216, in ensure_connection
self.connect()
File "/opt/app-root/lib/python3.6/site-
packages/django/db/backends/base/base.py", line 194, in connect
self.connection = self.get_new_connection(conn_params)
File "/opt/app-root/lib/python3.6/site-
packages/sql_server/pyodbc/base.py", line 307, in get_new_connection
timeout=timeout)
pyodbc.OperationalError: ('HYT00', '[HYT00] [unixODBC][Microsoft][ODBC
Driver 13 for SQL Server]Login timeout expired (0) (SQLDriverConnect)')
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "./manage.py", line 11, in <module>
execute_from_command_line(sys.argv)
File "/opt/app-root/lib/python3.6/site-
packages/django/core/management/__init__.py", line 381, in
execute_from_command_line
utility.execute()
File "/opt/app-root/lib/python3.6/site-
packages/django/core/management/__init__.py", line 357, in execute
django.setup()
File "/opt/app-root/lib/python3.6/site-packages/django/__init__.py",
line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/opt/app-root/lib/python3.6/site-
packages/django/apps/registry.py", line 112, in populate
app_config.import_models()
File "/opt/app-root/lib/python3.6/site-packages/django/apps/config.py",
line 198, in import_models
self.models_module = import_module(models_module_name)
File "/opt/app-root/lib64/python3.6/importlib/__init__.py", line 126, in
import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in
_call_with_frames_removed
File "/opt/app-root/src/vs/models.py", line 1543, in <module>
class AbcRules(models.Model):
File "/opt/app-root/src/vs/models.py", line 1562, in TscmRules
ASSIGN_CHOICES = [team for team in
sorted(set(People.objects.all().values_list("SquadName", flat=True)))]
File "/opt/app-root/lib/python3.6/site-
packages/django/db/models/query.py", line 268, in __iter__
self._fetch_all()
File "/opt/app-root/lib/python3.6/site-
packages/django/db/models/query.py", line 1186, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "/opt/app-root/lib/python3.6/site-
packages/django/db/models/query.py", line 176, in __iter__
for row in compiler.results_iter(chunked_fetch=self.chunked_fetch,
chunk_size=self.chunk_size):
File "/opt/app-root/lib/python3.6/site-
packages/django/db/models/sql/compiler.py", line 1017, in results_iter
results = self.execute_sql(MULTI, chunked_fetch=chunked_fetch,
chunk_size=chunk_size)
File "/opt/app-root/lib/python3.6/site-
packages/django/db/models/sql/compiler.py", line 1052, in execute_sql
sql, params = self.as_sql()
File "/opt/app-root/lib/python3.6/site-
packages/sql_server/pyodbc/compiler.py", line 176, in as_sql
supports_offset_clause = self.connection.sql_server_version >= 2012
File "/opt/app-root/lib/python3.6/site-
packages/django/utils/functional.py", line 37, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/opt/app-root/lib/python3.6/site-
packages/sql_server/pyodbc/base.py", line 390, in sql_server_version
with self.temporary_connection() as cursor:
File "/opt/rh/rh-python36/root/usr/lib64/python3.6/contextlib.py", line
81, in __enter__
return next(self.gen)
File "/opt/app-root/lib/python3.6/site-
packages/django/db/backends/base/base.py", line 577, in
temporary_connection
with self.cursor() as cursor:
File "/opt/app-root/lib/python3.6/site-
packages/django/db/backends/base/base.py", line 255, in cursor
return self._cursor()
File "/opt/app-root/lib/python3.6/site-
packages/django/db/backends/base/base.py", line 232, in _cursor
self.ensure_connection()
File "/opt/app-root/lib/python3.6/site-
packages/django/db/backends/base/base.py", line 216, in ensure_connection
self.connect()
File "/opt/app-root/lib/python3.6/site-packages/django/db/utils.py",
line 89, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/opt/app-root/lib/python3.6/site-
packages/django/db/backends/base/base.py", line 216, in ensure_connection
self.connect()
File "/opt/app-root/lib/python3.6/site-
packages/django/db/backends/base/base.py", line 194, in connect
self.connection = self.get_new_connection(conn_params)
File "/opt/app-root/lib/python3.6/site-
packages/sql_server/pyodbc/base.py", line 307, in get_new_connection
timeout=timeout)
django.db.utils.OperationalError: ('HYT00', '[HYT00]
[unixODBC][Microsoft][ODBC Driver 13 for SQL Server]Login timeout expired
(0) (SQLDriverConnect)')
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/30740>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/057.6a35a495feb1492a4589fa14c2e23844%40djangoproject.com.