﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
30740	collectstatic tries to connect to database	PaszaVonPomiot	nobody	"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)')

}}}
"	Bug	closed	contrib.staticfiles	2.1	Normal	invalid	collectstatic		Unreviewed	0	0	0	0	0	0
