more than one row returned by a subquery used as an expression
Request Method: | GET |
---|---|
Request URL: | https://gbet.ru/betting-center/match/cracovia-krakow-legia-warszawa-prognoz-i-stavka-na-match-5-dekabrya-2021/ |
Django Version: | 3.2 |
Exception Type: | ProgrammingError |
Exception Value: | more than one row returned by a subquery used as an expression |
Exception Location: | /var/www/domains/gbet.ru/lib/python3.9/site-packages/django/db/backends/utils.py, line 84, in _execute |
Python Executable: | /var/www/domains/gbet.ru/bin/uwsgi |
Python Version: | 3.9.2 |
Python Path: | ['.', '', '/usr/lib/python39.zip', '/usr/lib/python3.9', '/usr/lib/python3.9/lib-dynload', '/var/www/domains/gbet.ru/lib/python3.9/site-packages'] |
Server time: | Tue, 19 Mar 2024 08:25:50 +0300 |
/var/www/domains/gbet.ru/lib/python3.9/site-packages/django/db/backends/utils.py
, line 84, in _execute
def _execute(self, sql, params, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
if params is None:
# params default might be backend specific.
return self.cursor.execute(sql)
else:
return self.cursor.execute(sql, params)…
def _executemany(self, sql, param_list, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
return self.cursor.executemany(sql, param_list)
Variable | Value |
---|---|
ignored_wrapper_args | (False, {'connection': <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f0a1ac87640>, 'cursor': <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f09faab0970>}) |
params | {'m': 18145000, 't': 349} |
self | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f09faab0970> |
sql | ('\n' ' with events as (\n' ' select\n' ' player_id,\n' ' assist,\n' ' team_id,\n' ' match_id,\n' ' type,\n' ' time\n' ' from matchcenter_event e\n' ' where match_id = %(m)s\n' ' ) select\n' ' ml.position,\n' ' case \n' " when ml.position = 'G' then 'ВР'\n" " when ml.position = 'F' then 'НАП'\n" " when ml.position = 'A' then 'НАП'\n" " when ml.position = 'D' then 'ЗЩ'\n" " when ml.position = 'M' then 'ПЗ'\n" ' else ml.position\n' ' end as position_str,\n' ' ml.type_lineups,\n' ' ml.number as playernum,\n' ' ml.formation_position as num,\n' " '/uploads/assets/countries/' || lower(mc.countrycode) || " "'.png' as flag,\n" ' ps.rating,\n' ' coalesce(ft.translate, t.display_name, mp.display_name, ' 'ml.player_name) as playername,\n' ' coalesce(t.firstname, mp.firstname) as playerfn,\n' ' coalesce(t.lastname, mp.lastname) as playerln,\n' ' (select count(player_id) from events e where e.player_id ' "= ml.player_id and e.type in ('Normal Goal', 'Own Goal', 'scorer')) as " 'goals,\n' ' (select time from events e where e.player_id = ' "ml.player_id and e.type = 'Substitution') as substitution_time\n" ' from matchcenter_lineups ml\n' ' left join matchcenter_player_statistics_match ps on ' 'ps.player_id = ml.player_id and ps.match_id = ml.match_id\n' ' left join matchcenter_player mp on mp.id = ml.player_id\n' ' left join matchcenter_player_translation t on t.uid = mp.uid ' "and isolanguage = 'ru'\n" ' left join matchcenter_country mc on mc.uid = mp.country_id\n' ' left join matchcenter_fasttranslate ft on ft.name = ' 'ml.player_name\n' ' where ml.team_id = %(t)s and ml.match_id = %(m)s\n' ' order by ml.formation_position asc\n' ' ') |
/var/www/domains/gbet.ru/lib/python3.9/site-packages/django/core/handlers/exception.py
, line 47, in inner
response = await sync_to_async(response_for_exception, thread_sensitive=False)(request, exc)
return response
return inner
else:
@wraps(get_response)
def inner(request):
try:
response = get_response(request)…
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
Variable | Value |
---|---|
exc | ProgrammingError('more than one row returned by a subquery used as an expression\n') |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f09fb06dfd0>> |
request | <WSGIRequest: GET '/betting-center/match/cracovia-krakow-legia-warszawa-prognoz-i-stavka-na-match-5-dekabrya-2021/'> |
/var/www/domains/gbet.ru/lib/python3.9/site-packages/django/core/handlers/base.py
, line 181, in _get_response
if response is None:
wrapped_callback = self.make_view_atomic(callback)
# If it is an asynchronous view, run it in a subthread.
if asyncio.iscoroutinefunction(wrapped_callback):
wrapped_callback = async_to_sync(wrapped_callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)…
except Exception as e:
response = self.process_exception_by_middleware(e, request)
if response is None:
raise
# Complain if the view returned None (a common error).
Variable | Value |
---|---|
callback | <function match at 0x7f0a18437ca0> |
callback_args | () |
callback_kwargs | {'slug': 'cracovia-krakow-legia-warszawa-prognoz-i-stavka-na-match-5-dekabrya-2021'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f09faf326d0>> |
request | <WSGIRequest: GET '/betting-center/match/cracovia-krakow-legia-warszawa-prognoz-i-stavka-na-match-5-dekabrya-2021/'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f09fb06dfd0> |
wrapped_callback | <function match at 0x7f0a18437ca0> |
./matchcenter/views.py
, line 599, in match
prelineup_home = None
prelineup_away = None
prehome_field = None
preaway_field = None
hasLeaguesPosition = False
lineup_away = getLineup(id, event['awayteam_id'], 'awayteam')…
lineup_home = getLineup(id, event['hometeam_id'], 'hometeam')
if previous_match and not lineup_away[0] and not lineup_home[0]:
lineup_home = getLineup(previous_match, event['hometeam_id'], 'hometeam')
lineup_away = getLineup(previous_match, event['awayteam_id'], 'awayteam')
prelineup_home = lineup_home
Variable | Value |
---|---|
af | '4-3-2-1' |
event | {'attendance': 10213, 'away_coach_countrycode': None, 'away_coach_id': None, 'away_coach_name': None, 'away_color': [], 'away_formation': '4-1-4-1', 'away_position': 16, 'awayteam_id': 349, 'awayteam_logo': 'https://cdn.sportmonks.com/images//soccer/teams/29/349.png', 'awayteam_name': 'Легия Варшава', 'countryflag': '/uploads/assets/countries/pl.svg', 'countryname': 'Польша', 'elapsed': 90, 'extra_minute': 0, 'first_assist_name': 'К. Сапела', 'first_match': None, 'fourth_official_assist_name': 'K. Paszkiewicz', 'ftag': 0, 'fthg': 1, 'group_name': None, 'home_coach_countrycode': None, 'home_coach_id': 456647, 'home_coach_name': 'Ю. Зелински', 'home_color': [], 'home_formation': '3-4-3', 'home_position': 12, 'hometeam_id': 1069, 'hometeam_logo': 'https://cdn.sportmonks.com/images//soccer/teams/13/1069.png', 'hometeam_name': 'Краковия', 'id': 18145000, 'is_visible': True, 'league_slug': 'prognozy-i-stavki-na-ekstraklass', 'leagueid': 453, 'leaguename': 'Экстракласса', 'leagueslug': 'prognozy-i-stavki-na-ekstraklass', 'leaguetype': 'Лига', 'live': False, 'match_date': datetime.datetime(2021, 12, 5, 19, 0), 'neutral_venue': False, 'next_round_team_id': None, 'pag': None, 'phg': None, 'refereename': 'Я. Пшибыл', 'round': '17 тур', 's_events': True, 's_fixtures': False, 's_lineups': True, 's_players': False, 'season_end': datetime.date(2021, 12, 6), 'season_id': 18410, 'season_start': datetime.date(2021, 12, 3), 'second_assist_name': 'М. Арысь', 'show_position': True, 'slug': 'cracovia-krakow-legia-warszawa-prognoz-i-stavka-na-match-5-dekabrya-2021', 'stage_id': 77453800, 'status': 'FT', 'status_text': 'Завершен', 'total_league_competitors': 18, 'venueaddr': 'ul. Josefa Kałuży 1', 'venuecap': 15016, 'venuecity': 'Краков', 'venuecords': '50.057969,19.920182', 'venueid': 415, 'venuename': 'Стадион Краковий им. Юзефа Пилсудского', 'venuephoto': 'https://cdn.sportmonks.com/images/soccer/venues/31/415.png', 'venuesurface': 'grass', 'weather': {'clouds': '90%', 'code': 'rain', 'humidity': '93%', 'icon': 'https://cdn.sportmonks.com/images/weather/10n.png', 'lat': 50.08, 'lon': 19.92, 'match_id': 18145000, 'pressure': 1005, 'temp_celcius': 1.8, 'temp_fahrenheit': 35.28, 'types': 'light rain', 'uid': None, 'updated_at': '2023-04-24T15:07:57.472255', 'wind_degree': 0, 'wind_speed': '2.3 m/s'}, 'weather_translation': 'light rain'} |
hasLeaguesPosition | False |
hf | '4-2-3-1' |
id | 18145000 |
preaway_field | None |
prehome_field | None |
prelineup_away | None |
prelineup_home | None |
previous_match | 16725153 |
request | <WSGIRequest: GET '/betting-center/match/cracovia-krakow-legia-warszawa-prognoz-i-stavka-na-match-5-dekabrya-2021/'> |
slug | 'cracovia-krakow-legia-warszawa-prognoz-i-stavka-na-match-5-dekabrya-2021' |
./matchcenter/controller.py
, line 704, in getLineup
## team = h - home; a - away
def getLineup(id, teamid=None, team=None):
lineup = (None, None)
if teamid:
with connection.cursor() as cursor:
cursor.execute('''…
with events as (
select
player_id,
assist,
team_id,
match_id,
Variable | Value |
---|---|
cursor | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f09faab0970> |
id | 18145000 |
lineup | (None, None) |
team | 'awayteam' |
teamid | 349 |
/var/www/domains/gbet.ru/lib/python3.9/site-packages/django/db/backends/utils.py
, line 98, in execute
class CursorDebugWrapper(CursorWrapper):
# XXX callproc isn't instrumented at this time.
def execute(self, sql, params=None):
with self.debug_sql(sql, params, use_last_executed_query=True):
return super().execute(sql, params)…
def executemany(self, sql, param_list):
with self.debug_sql(sql, param_list, many=True):
return super().executemany(sql, param_list)
@contextmanager
Variable | Value |
---|---|
__class__ | <class 'django.db.backends.utils.CursorDebugWrapper'> |
params | {'m': 18145000, 't': 349} |
self | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f09faab0970> |
sql | ('\n' ' with events as (\n' ' select\n' ' player_id,\n' ' assist,\n' ' team_id,\n' ' match_id,\n' ' type,\n' ' time\n' ' from matchcenter_event e\n' ' where match_id = %(m)s\n' ' ) select\n' ' ml.position,\n' ' case \n' " when ml.position = 'G' then 'ВР'\n" " when ml.position = 'F' then 'НАП'\n" " when ml.position = 'A' then 'НАП'\n" " when ml.position = 'D' then 'ЗЩ'\n" " when ml.position = 'M' then 'ПЗ'\n" ' else ml.position\n' ' end as position_str,\n' ' ml.type_lineups,\n' ' ml.number as playernum,\n' ' ml.formation_position as num,\n' " '/uploads/assets/countries/' || lower(mc.countrycode) || " "'.png' as flag,\n" ' ps.rating,\n' ' coalesce(ft.translate, t.display_name, mp.display_name, ' 'ml.player_name) as playername,\n' ' coalesce(t.firstname, mp.firstname) as playerfn,\n' ' coalesce(t.lastname, mp.lastname) as playerln,\n' ' (select count(player_id) from events e where e.player_id ' "= ml.player_id and e.type in ('Normal Goal', 'Own Goal', 'scorer')) as " 'goals,\n' ' (select time from events e where e.player_id = ' "ml.player_id and e.type = 'Substitution') as substitution_time\n" ' from matchcenter_lineups ml\n' ' left join matchcenter_player_statistics_match ps on ' 'ps.player_id = ml.player_id and ps.match_id = ml.match_id\n' ' left join matchcenter_player mp on mp.id = ml.player_id\n' ' left join matchcenter_player_translation t on t.uid = mp.uid ' "and isolanguage = 'ru'\n" ' left join matchcenter_country mc on mc.uid = mp.country_id\n' ' left join matchcenter_fasttranslate ft on ft.name = ' 'ml.player_name\n' ' where ml.team_id = %(t)s and ml.match_id = %(m)s\n' ' order by ml.formation_position asc\n' ' ') |
/var/www/domains/gbet.ru/lib/python3.9/site-packages/django/db/backends/utils.py
, line 66, in execute
elif kparams is None:
return self.cursor.callproc(procname, params)
else:
params = params or ()
return self.cursor.callproc(procname, params, kparams)
def execute(self, sql, params=None):
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)…
def executemany(self, sql, param_list):
return self._execute_with_wrappers(sql, param_list, many=True, executor=self._executemany)
def _execute_with_wrappers(self, sql, params, many, executor):
context = {'connection': self.db, 'cursor': self}
Variable | Value |
---|---|
params | {'m': 18145000, 't': 349} |
self | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f09faab0970> |
sql | ('\n' ' with events as (\n' ' select\n' ' player_id,\n' ' assist,\n' ' team_id,\n' ' match_id,\n' ' type,\n' ' time\n' ' from matchcenter_event e\n' ' where match_id = %(m)s\n' ' ) select\n' ' ml.position,\n' ' case \n' " when ml.position = 'G' then 'ВР'\n" " when ml.position = 'F' then 'НАП'\n" " when ml.position = 'A' then 'НАП'\n" " when ml.position = 'D' then 'ЗЩ'\n" " when ml.position = 'M' then 'ПЗ'\n" ' else ml.position\n' ' end as position_str,\n' ' ml.type_lineups,\n' ' ml.number as playernum,\n' ' ml.formation_position as num,\n' " '/uploads/assets/countries/' || lower(mc.countrycode) || " "'.png' as flag,\n" ' ps.rating,\n' ' coalesce(ft.translate, t.display_name, mp.display_name, ' 'ml.player_name) as playername,\n' ' coalesce(t.firstname, mp.firstname) as playerfn,\n' ' coalesce(t.lastname, mp.lastname) as playerln,\n' ' (select count(player_id) from events e where e.player_id ' "= ml.player_id and e.type in ('Normal Goal', 'Own Goal', 'scorer')) as " 'goals,\n' ' (select time from events e where e.player_id = ' "ml.player_id and e.type = 'Substitution') as substitution_time\n" ' from matchcenter_lineups ml\n' ' left join matchcenter_player_statistics_match ps on ' 'ps.player_id = ml.player_id and ps.match_id = ml.match_id\n' ' left join matchcenter_player mp on mp.id = ml.player_id\n' ' left join matchcenter_player_translation t on t.uid = mp.uid ' "and isolanguage = 'ru'\n" ' left join matchcenter_country mc on mc.uid = mp.country_id\n' ' left join matchcenter_fasttranslate ft on ft.name = ' 'ml.player_name\n' ' where ml.team_id = %(t)s and ml.match_id = %(m)s\n' ' order by ml.formation_position asc\n' ' ') |
/var/www/domains/gbet.ru/lib/python3.9/site-packages/django/db/backends/utils.py
, line 75, in _execute_with_wrappers
def executemany(self, sql, param_list):
return self._execute_with_wrappers(sql, param_list, many=True, executor=self._executemany)
def _execute_with_wrappers(self, sql, params, many, executor):
context = {'connection': self.db, 'cursor': self}
for wrapper in reversed(self.db.execute_wrappers):
executor = functools.partial(wrapper, executor)
return executor(sql, params, many, context)…
def _execute(self, sql, params, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
if params is None:
# params default might be backend specific.
Variable | Value |
---|---|
context | {'connection': <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f0a1ac87640>, 'cursor': <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f09faab0970>} |
executor | <bound method CursorWrapper._execute of <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f09faab0970>> |
many | False |
params | {'m': 18145000, 't': 349} |
self | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f09faab0970> |
sql | ('\n' ' with events as (\n' ' select\n' ' player_id,\n' ' assist,\n' ' team_id,\n' ' match_id,\n' ' type,\n' ' time\n' ' from matchcenter_event e\n' ' where match_id = %(m)s\n' ' ) select\n' ' ml.position,\n' ' case \n' " when ml.position = 'G' then 'ВР'\n" " when ml.position = 'F' then 'НАП'\n" " when ml.position = 'A' then 'НАП'\n" " when ml.position = 'D' then 'ЗЩ'\n" " when ml.position = 'M' then 'ПЗ'\n" ' else ml.position\n' ' end as position_str,\n' ' ml.type_lineups,\n' ' ml.number as playernum,\n' ' ml.formation_position as num,\n' " '/uploads/assets/countries/' || lower(mc.countrycode) || " "'.png' as flag,\n" ' ps.rating,\n' ' coalesce(ft.translate, t.display_name, mp.display_name, ' 'ml.player_name) as playername,\n' ' coalesce(t.firstname, mp.firstname) as playerfn,\n' ' coalesce(t.lastname, mp.lastname) as playerln,\n' ' (select count(player_id) from events e where e.player_id ' "= ml.player_id and e.type in ('Normal Goal', 'Own Goal', 'scorer')) as " 'goals,\n' ' (select time from events e where e.player_id = ' "ml.player_id and e.type = 'Substitution') as substitution_time\n" ' from matchcenter_lineups ml\n' ' left join matchcenter_player_statistics_match ps on ' 'ps.player_id = ml.player_id and ps.match_id = ml.match_id\n' ' left join matchcenter_player mp on mp.id = ml.player_id\n' ' left join matchcenter_player_translation t on t.uid = mp.uid ' "and isolanguage = 'ru'\n" ' left join matchcenter_country mc on mc.uid = mp.country_id\n' ' left join matchcenter_fasttranslate ft on ft.name = ' 'ml.player_name\n' ' where ml.team_id = %(t)s and ml.match_id = %(m)s\n' ' order by ml.formation_position asc\n' ' ') |
/var/www/domains/gbet.ru/lib/python3.9/site-packages/django/db/backends/utils.py
, line 84, in _execute
def _execute(self, sql, params, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
if params is None:
# params default might be backend specific.
return self.cursor.execute(sql)
else:
return self.cursor.execute(sql, params)…
def _executemany(self, sql, param_list, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
return self.cursor.executemany(sql, param_list)
Variable | Value |
---|---|
ignored_wrapper_args | (False, {'connection': <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f0a1ac87640>, 'cursor': <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f09faab0970>}) |
params | {'m': 18145000, 't': 349} |
self | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f09faab0970> |
sql | ('\n' ' with events as (\n' ' select\n' ' player_id,\n' ' assist,\n' ' team_id,\n' ' match_id,\n' ' type,\n' ' time\n' ' from matchcenter_event e\n' ' where match_id = %(m)s\n' ' ) select\n' ' ml.position,\n' ' case \n' " when ml.position = 'G' then 'ВР'\n" " when ml.position = 'F' then 'НАП'\n" " when ml.position = 'A' then 'НАП'\n" " when ml.position = 'D' then 'ЗЩ'\n" " when ml.position = 'M' then 'ПЗ'\n" ' else ml.position\n' ' end as position_str,\n' ' ml.type_lineups,\n' ' ml.number as playernum,\n' ' ml.formation_position as num,\n' " '/uploads/assets/countries/' || lower(mc.countrycode) || " "'.png' as flag,\n" ' ps.rating,\n' ' coalesce(ft.translate, t.display_name, mp.display_name, ' 'ml.player_name) as playername,\n' ' coalesce(t.firstname, mp.firstname) as playerfn,\n' ' coalesce(t.lastname, mp.lastname) as playerln,\n' ' (select count(player_id) from events e where e.player_id ' "= ml.player_id and e.type in ('Normal Goal', 'Own Goal', 'scorer')) as " 'goals,\n' ' (select time from events e where e.player_id = ' "ml.player_id and e.type = 'Substitution') as substitution_time\n" ' from matchcenter_lineups ml\n' ' left join matchcenter_player_statistics_match ps on ' 'ps.player_id = ml.player_id and ps.match_id = ml.match_id\n' ' left join matchcenter_player mp on mp.id = ml.player_id\n' ' left join matchcenter_player_translation t on t.uid = mp.uid ' "and isolanguage = 'ru'\n" ' left join matchcenter_country mc on mc.uid = mp.country_id\n' ' left join matchcenter_fasttranslate ft on ft.name = ' 'ml.player_name\n' ' where ml.team_id = %(t)s and ml.match_id = %(m)s\n' ' order by ml.formation_position asc\n' ' ') |
/var/www/domains/gbet.ru/lib/python3.9/site-packages/django/db/utils.py
, line 90, in __exit__
db_exc_type = getattr(self.wrapper.Database, dj_exc_type.__name__)
if issubclass(exc_type, db_exc_type):
dj_exc_value = dj_exc_type(*exc_value.args)
# Only set the 'errors_occurred' flag for errors that may make
# the connection unusable.
if dj_exc_type not in (DataError, IntegrityError):
self.wrapper.errors_occurred = True
raise dj_exc_value.with_traceback(traceback) from exc_value…
def __call__(self, func):
# Note that we are intentionally not using @wraps here for performance
# reasons. Refs #21109.
def inner(*args, **kwargs):
with self:
Variable | Value |
---|---|
db_exc_type | <class 'psycopg2.ProgrammingError'> |
dj_exc_type | <class 'django.db.utils.ProgrammingError'> |
dj_exc_value | ProgrammingError('more than one row returned by a subquery used as an expression\n') |
exc_type | <class 'psycopg2.errors.CardinalityViolation'> |
exc_value | CardinalityViolation('more than one row returned by a subquery used as an expression\n') |
self | <django.db.utils.DatabaseErrorWrapper object at 0x7f0a1843b250> |
traceback | <traceback object at 0x7f09f9e94600> |
/var/www/domains/gbet.ru/lib/python3.9/site-packages/django/db/backends/utils.py
, line 84, in _execute
def _execute(self, sql, params, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
if params is None:
# params default might be backend specific.
return self.cursor.execute(sql)
else:
return self.cursor.execute(sql, params)…
def _executemany(self, sql, param_list, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
return self.cursor.executemany(sql, param_list)
Variable | Value |
---|---|
ignored_wrapper_args | (False, {'connection': <django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f0a1ac87640>, 'cursor': <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f09faab0970>}) |
params | {'m': 18145000, 't': 349} |
self | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f09faab0970> |
sql | ('\n' ' with events as (\n' ' select\n' ' player_id,\n' ' assist,\n' ' team_id,\n' ' match_id,\n' ' type,\n' ' time\n' ' from matchcenter_event e\n' ' where match_id = %(m)s\n' ' ) select\n' ' ml.position,\n' ' case \n' " when ml.position = 'G' then 'ВР'\n" " when ml.position = 'F' then 'НАП'\n" " when ml.position = 'A' then 'НАП'\n" " when ml.position = 'D' then 'ЗЩ'\n" " when ml.position = 'M' then 'ПЗ'\n" ' else ml.position\n' ' end as position_str,\n' ' ml.type_lineups,\n' ' ml.number as playernum,\n' ' ml.formation_position as num,\n' " '/uploads/assets/countries/' || lower(mc.countrycode) || " "'.png' as flag,\n" ' ps.rating,\n' ' coalesce(ft.translate, t.display_name, mp.display_name, ' 'ml.player_name) as playername,\n' ' coalesce(t.firstname, mp.firstname) as playerfn,\n' ' coalesce(t.lastname, mp.lastname) as playerln,\n' ' (select count(player_id) from events e where e.player_id ' "= ml.player_id and e.type in ('Normal Goal', 'Own Goal', 'scorer')) as " 'goals,\n' ' (select time from events e where e.player_id = ' "ml.player_id and e.type = 'Substitution') as substitution_time\n" ' from matchcenter_lineups ml\n' ' left join matchcenter_player_statistics_match ps on ' 'ps.player_id = ml.player_id and ps.match_id = ml.match_id\n' ' left join matchcenter_player mp on mp.id = ml.player_id\n' ' left join matchcenter_player_translation t on t.uid = mp.uid ' "and isolanguage = 'ru'\n" ' left join matchcenter_country mc on mc.uid = mp.country_id\n' ' left join matchcenter_fasttranslate ft on ft.name = ' 'ml.player_name\n' ' where ml.team_id = %(t)s and ml.match_id = %(m)s\n' ' order by ml.formation_position asc\n' ' ') |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
CONTENT_LENGTH | '' |
CONTENT_TYPE | '' |
DOCUMENT_ROOT | '/var/www/domains/gbet.ru/gbet' |
HTTPS | 'on' |
HTTP_ACCEPT | '*/*' |
HTTP_HOST | 'gbet.ru' |
HTTP_USER_AGENT | 'claudebot' |
PATH_INFO | '/betting-center/match/cracovia-krakow-legia-warszawa-prognoz-i-stavka-na-match-5-dekabrya-2021/' |
QUERY_STRING | '' |
REMOTE_ADDR | '52.205.218.160' |
REMOTE_PORT | '44796' |
REQUEST_METHOD | 'GET' |
REQUEST_SCHEME | 'https' |
REQUEST_URI | '/betting-center/match/cracovia-krakow-legia-warszawa-prognoz-i-stavka-na-match-5-dekabrya-2021/' |
SCRIPT_NAME | '' |
SERVER_NAME | 'gbet.ru' |
SERVER_PORT | '443' |
SERVER_PROTOCOL | 'HTTP/2.0' |
uwsgi.node | b'gbet.ru' |
uwsgi.version | b'2.0.20' |
wsgi.errors | <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'> |
wsgi.file_wrapper | <built-in function uwsgi_sendfile> |
wsgi.input | <uwsgi._Input object at 0x7f09fa6ed230> |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
gbet.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['gbet.ru'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | PosixPath('/var/www/domains/gbet.ru/gbet') |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CKEDITOR_BASEPATH | '/static/ckeditor/ckeditor/' |
CKEDITOR_CONFIGS | {'default': {'extraPlugins': 'blockquote', 'stylesSet': [{'element': 'p', 'name': 'Жирный', 'styles': {'font-weight': 'bold'}}, {'attributes': {'class': 'ul-minus'}, 'element': 'ul', 'name': 'Минусы'}, {'attributes': {'class': 'ul-plus'}, 'element': 'ul', 'name': 'Плюсы'}], 'toolbar': [{'items': ['Styles', 'Format', 'Bold', 'Italic', 'Underline', 'Strike', '-', 'TextColor', 'BGColor', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'], 'name': 'document'}, {'items': ['Undo', 'Redo', '-', 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Link', 'Unlink', '-', 'Image', 'CodeSnippet', 'Table', 'HorizontalRule', 'Smiley', 'SpecialChar', '-', 'Blockquote', '-', 'ShowBlocks', 'Maximize'], 'name': 'widgets'}]}} |
CKEDITOR_UPLOAD_PATH | 'uploads/' |
CSRF_COOKIE_AGE | 31449600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | False |
CSRF_COOKIE_NAME | 'csrftoken' |
CSRF_COOKIE_PATH | '/' |
CSRF_COOKIE_SAMESITE | 'Lax' |
CSRF_COOKIE_SECURE | False |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
CSRF_TRUSTED_ORIGINS | [] |
CSRF_USE_SESSIONS | False |
CUSTOM_TOOLBAR | [{'items': ['Styles', 'Format', 'Bold', 'Italic', 'Underline', 'Strike', '-', 'TextColor', 'BGColor', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'], 'name': 'document'}, {'items': ['Undo', 'Redo', '-', 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Link', 'Unlink', '-', 'Image', 'CodeSnippet', 'Table', 'HorizontalRule', 'Smiley', 'SpecialChar', '-', 'Blockquote', '-', 'ShowBlocks', 'Maximize'], 'name': 'widgets'}] |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.postgresql', 'HOST': '127.0.0.1', 'NAME': 'gbet', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '5432', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'ugbet'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 10240 |
DATETIME_FORMAT | 'N j, Y, P' |
DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M'] |
DATE_FORMAT | 'N j, Y' |
DATE_INPUT_FORMATS | ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y'] |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DECIMAL_SEPARATOR | '.' |
DEFAULT_AUTO_FIELD | 'django.db.models.AutoField' |
DEFAULT_CHARSET | 'utf-8' |
DEFAULT_EXCEPTION_REPORTER | 'django.views.debug.ExceptionReporter' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | 'webmaster@localhost' |
DEFAULT_HASHING_ALGORITHM | 'sha256' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'mail.svigu.com' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | 'noreply@gbet.ru' |
EMAIL_PORT | 587 |
EMAIL_SSL_CERTFILE | None |
EMAIL_SSL_KEYFILE | '********************' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
EMAIL_TIMEOUT | None |
EMAIL_USE_LOCALTIME | False |
EMAIL_USE_SSL | False |
EMAIL_USE_TLS | True |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | 420 |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
GEOIP_PATH | 'geolite/' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ['ckeditor', 'ckeditor_uploader', 'mptt', 'hitcount', 'webpack_loader', 'captcha', 'perfect_bookmaker.apps.PerfectBookmakerConfig', 'office.apps.OfficeConfig', 'calculators.apps.CalculatorsConfig', 'userprofile.apps.UserprofileConfig', 'news.apps.NewsConfig', 'root_categories.apps.RootCategoriesConfig', 'sitemap.apps.SitemapConfig', 'matchcenter.apps.MatchcenterConfig', 'comments.apps.CommentsConfig', 'bookmakers.apps.BookmakersConfig', 'urlshorter.apps.UrlshorterConfig', 'wiki.apps.WikiConfig', 'statbet.apps.StatbetConfig', 'django_better_admin_arrayfield', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.humanize', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles'] |
INTERNAL_IPS | [] |
LANGUAGES | [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ar-dz', 'Algerian Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('ig', 'Igbo'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('ky', 'Kyrgyz'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('tg', 'Tajik'), ('th', 'Thai'), ('tk', 'Turkmen'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('uz', 'Uzbek'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] |
LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'fa', 'ur'] |
LANGUAGE_CODE | 'ru-ru' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_HTTPONLY | False |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LANGUAGE_COOKIE_SAMESITE | None |
LANGUAGE_COOKIE_SECURE | False |
LOCALE_PATHS | [] |
LOGGING | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MEDIA_ROOT | '' |
MEDIA_URL | '/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'gbet.middleware.MultipleShaslesHandler.MultipleShaslesHandler'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
RECAPTCHA_PRIVATE_KEY | '********************' |
RECAPTCHA_PUBLIC_KEY | '********************' |
ROOT_URLCONF | 'gbet.urls' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | True |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_REFERRER_POLICY | 'same-origin' |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | 'root@localhost' |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SAMESITE | 'Lax' |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'gbet.settings' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
SITE_URL | 'https://gbet.ru/' |
STATICFILES_DIRS | ['/var/www/domains/gbet.ru/gbet/assets/img', '/var/www/domains/gbet.ru/gbet/assets/bundles'] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | 'static/' |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/www/domains/gbet.ru/gbet/gbet/templates'], 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'gbet.context_processor.categories_renderer', 'gbet.context_processor.filters_renderer', 'gbet.context_processor.best_bonuses_renderer', 'gbet.context_processor.map_renderer', 'gbet.context_processor.top_menu_renderer', 'gbet.context_processor.matchcenter_renderer', 'gbet.context_processor.statbet_renderer']}}] |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THOUSAND_SEPARATOR | ',' |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'Europe/Moscow' |
UPLOADS_ROOT | 'uploads/' |
UPLOADS_URL | 'uploads/' |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | False |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | 'gbet.wsgi.application' |
X_FRAME_OPTIONS | 'DENY' |
YEAR_MONTH_FORMAT | 'F Y' |
You’re seeing this error because you have DEBUG = True
in your
Django settings file. Change that to False
, and Django will
display a standard page generated by the handler for this status code.