(1406, "Data too long for column 'slug' at row 1")
Request Method: | GET |
---|---|
Request URL: | http://topchip.com.br/pagina/politicadeprivacidade/ |
Django Version: | 3.1.3 |
Exception Type: | DataError |
Exception Value: | (1406, "Data too long for column 'slug' at row 1") |
Exception Location: | /var/www/myenv/lib/python3.7/site-packages/MySQLdb/connections.py, line 259, in query |
Python Executable: | /var/www/myenv/bin/python |
Python Version: | 3.7.3 |
Python Path: | ['/var/www/topchip', '/var/www/myenv/bin', '/usr/lib/python37.zip', '/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload', '/var/www/myenv/lib/python3.7/site-packages'] |
Server time: | Fri, 29 Mar 2024 06:58:40 -0300 |
/var/www/myenv/lib/python3.7/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.mysql.base.DatabaseWrapper object at 0x7f2e705909e8>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f2e6b3997b8>}) |
params | ['politicadeprivacidade', 0] |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f2e6b3997b8> |
sql | 'INSERT INTO `eventos_vizualizacoes` (`slug`, `quantidade`) VALUES (%s, %s)' |
/var/www/myenv/lib/python3.7/site-packages/django/db/backends/mysql/base.py
, line 73, in execute
def __init__(self, cursor):
self.cursor = cursor
def execute(self, query, args=None):
try:
# args is None means no string interpolation
return self.cursor.execute(query, args)…
except Database.OperationalError as e:
# Map some error codes to IntegrityError, since they seem to be
# misclassified and Django would prefer the more logical place.
if e.args[0] in self.codes_for_integrityerror:
raise IntegrityError(*tuple(e.args))
raise
Variable | Value |
---|---|
args | ['politicadeprivacidade', 0] |
query | 'INSERT INTO `eventos_vizualizacoes` (`slug`, `quantidade`) VALUES (%s, %s)' |
self | <django.db.backends.mysql.base.CursorWrapper object at 0x7f2e6b399240> |
/var/www/myenv/lib/python3.7/site-packages/MySQLdb/cursors.py
, line 206, in execute
args = tuple(map(db.literal, args))
try:
query = query % args
except TypeError as m:
raise ProgrammingError(str(m))
assert isinstance(query, (bytes, bytearray))
res = self._query(query)…
return res
def executemany(self, query, args):
# type: (str, list) -> int
"""Execute a multi-row query.
Variable | Value |
---|---|
args | (b"'politicadeprivacidade'", b'0') |
db | <_mysql.connection open to 'localhost' at 0x2371998> |
query | (b"INSERT INTO `eventos_vizualizacoes` (`slug`, `quantidade`) VALUES ('politica" b"deprivacidade', 0)") |
self | <MySQLdb.cursors.Cursor object at 0x7f2e6b399fd0> |
/var/www/myenv/lib/python3.7/site-packages/MySQLdb/cursors.py
, line 319, in _query
)
self._query(q)
return args
def _query(self, q):
db = self._get_db()
self._result = None
db.query(q)…
self._do_get_result(db)
self._post_get_result()
self._executed = q
return self.rowcount
def _fetch_row(self, size=1):
Variable | Value |
---|---|
db | <_mysql.connection open to 'localhost' at 0x2371998> |
q | (b"INSERT INTO `eventos_vizualizacoes` (`slug`, `quantidade`) VALUES ('politica" b"deprivacidade', 0)") |
self | <MySQLdb.cursors.Cursor object at 0x7f2e6b399fd0> |
/var/www/myenv/lib/python3.7/site-packages/MySQLdb/connections.py
, line 259, in query
"""
return (cursorclass or self.cursorclass)(self)
def query(self, query):
# Since _mysql releases GIL while querying, we need immutable buffer.
if isinstance(query, bytearray):
query = bytes(query)
_mysql.connection.query(self, query)…
def _bytes_literal(self, bs):
assert isinstance(bs, (bytes, bytearray))
x = self.string_literal(bs) # x is escaped and quoted bytes
if self._binary_prefix:
return b"_binary" + x
Variable | Value |
---|---|
query | (b"INSERT INTO `eventos_vizualizacoes` (`slug`, `quantidade`) VALUES ('politica" b"deprivacidade', 0)") |
self | <_mysql.connection open to 'localhost' at 0x2371998> |
/var/www/myenv/lib/python3.7/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 | DataError(1406, "Data too long for column 'slug' at row 1") |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f2e705780f0>> |
request | <WSGIRequest: GET '/pagina/politicadeprivacidade/'> |
/var/www/myenv/lib/python3.7/site-packages/django/core/handlers/base.py
, line 179, 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 pagina at 0x7f2e6ce0cd08> |
callback_args | () |
callback_kwargs | {'slug': 'politicadeprivacidade'} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f2e6fb5ed68>> |
request | <WSGIRequest: GET '/pagina/politicadeprivacidade/'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f2e705780f0> |
wrapped_callback | <function pagina at 0x7f2e6ce0cd08> |
/var/www/topchip/eventos/views/views.py
, line 45, in pagina
def fotos(request):
incrementarVisualizacoes("fotos")
eventos = Evento.objects.filter(foto_online=True,ativo=True).order_by('-data', 'hora')
return render(request, 'fotos.html', {'eventos': eventos})
def pagina(request, slug):
incrementarVisualizacoes(slug)…
pagina = Pagina.objects.filter(slug=slug).first()
if pagina is None:
raise Http404
return render(request, 'pagina.html', {'pagina': pagina})
Variable | Value |
---|---|
request | <WSGIRequest: GET '/pagina/politicadeprivacidade/'> |
slug | 'politicadeprivacidade' |
/var/www/topchip/eventos/views/views.py
, line 29, in incrementarVisualizacoes
import urllib
from django.db.models import F
def incrementarVisualizacoes(slug):
vizu = Vizualizacoes.objects.filter(slug=slug).first()
if vizu is None:
Vizualizacoes.objects.create(slug=slug)…
return
vizu.quantidade +=1;
vizu.save()
def resultados(request):
incrementarVisualizacoes("resultados")
Variable | Value |
---|---|
slug | 'politicadeprivacidade' |
vizu | None |
/var/www/myenv/lib/python3.7/site-packages/django/db/models/manager.py
, line 85, in manager_method
def check(self, **kwargs):
return []
@classmethod
def _get_queryset_methods(cls, queryset_class):
def create_method(name, method):
def manager_method(self, *args, **kwargs):
return getattr(self.get_queryset(), name)(*args, **kwargs)…
manager_method.__name__ = method.__name__
manager_method.__doc__ = method.__doc__
return manager_method
new_methods = {}
for name, method in inspect.getmembers(queryset_class, predicate=inspect.isfunction):
Variable | Value |
---|---|
args | () |
kwargs | {'slug': 'politicadeprivacidade'} |
name | 'create' |
self | <django.db.models.manager.Manager object at 0x7f2e6b787470> |
/var/www/myenv/lib/python3.7/site-packages/django/db/models/query.py
, line 447, in create
def create(self, **kwargs):
"""
Create a new object with the given kwargs, saving it to the database
and returning the created object.
"""
obj = self.model(**kwargs)
self._for_write = True
obj.save(force_insert=True, using=self.db)…
return obj
def _populate_pk_values(self, objs):
for obj in objs:
if obj.pk is None:
obj.pk = obj._meta.pk.get_pk_value_on_save(obj)
Variable | Value |
---|---|
kwargs | {'slug': 'politicadeprivacidade'} |
obj | <Vizualizacoes: Vizualizacoes object (None)> |
self | <QuerySet [<Vizualizacoes: Vizualizacoes object (1)>, <Vizualizacoes: Vizualizacoes object (2)>, <Vizualizacoes: Vizualizacoes object (3)>, <Vizualizacoes: Vizualizacoes object (4)>, <Vizualizacoes: Vizualizacoes object (5)>, <Vizualizacoes: Vizualizacoes object (6)>, <Vizualizacoes: Vizualizacoes object (7)>, <Vizualizacoes: Vizualizacoes object (8)>, <Vizualizacoes: Vizualizacoes object (9)>, <Vizualizacoes: Vizualizacoes object (10)>, <Vizualizacoes: Vizualizacoes object (11)>, <Vizualizacoes: Vizualizacoes object (12)>, <Vizualizacoes: Vizualizacoes object (13)>, <Vizualizacoes: Vizualizacoes object (14)>, <Vizualizacoes: Vizualizacoes object (15)>, <Vizualizacoes: Vizualizacoes object (16)>, <Vizualizacoes: Vizualizacoes object (17)>, <Vizualizacoes: Vizualizacoes object (18)>, <Vizualizacoes: Vizualizacoes object (19)>, <Vizualizacoes: Vizualizacoes object (20)>, '...(remaining elements truncated)...']> |
/var/www/myenv/lib/python3.7/site-packages/django/db/models/base.py
, line 754, in save
if not field.primary_key and not hasattr(field, 'through'):
field_names.add(field.attname)
loaded_fields = field_names.difference(deferred_fields)
if loaded_fields:
update_fields = frozenset(loaded_fields)
self.save_base(using=using, force_insert=force_insert,
force_update=force_update, update_fields=update_fields)…
save.alters_data = True
def save_base(self, raw=False, force_insert=False,
force_update=False, using=None, update_fields=None):
"""
Handle the parts of saving which should be done only once per save,
Variable | Value |
---|---|
deferred_fields | set() |
field | <django.db.models.fields.IntegerField: quantidade> |
force_insert | True |
force_update | False |
self | <Vizualizacoes: Vizualizacoes object (None)> |
update_fields | None |
using | 'default' |
/var/www/myenv/lib/python3.7/site-packages/django/db/models/base.py
, line 792, in save_base
context_manager = transaction.mark_for_rollback_on_error(using=using)
with context_manager:
parent_inserted = False
if not raw:
parent_inserted = self._save_parents(cls, using, update_fields)
updated = self._save_table(
raw, cls, force_insert or parent_inserted,
force_update, using, update_fields,…
)
# Store the database on which the object was saved
self._state.db = using
# Once saved, this is no longer a to-be-added instance.
self._state.adding = False
Variable | Value |
---|---|
cls | <class 'eventos.models.Vizualizacoes'> |
context_manager | <contextlib._GeneratorContextManager object at 0x7f2e6b5dc128> |
force_insert | True |
force_update | False |
meta | <Options for Vizualizacoes> |
origin | <class 'eventos.models.Vizualizacoes'> |
parent_inserted | False |
raw | False |
self | <Vizualizacoes: Vizualizacoes object (None)> |
update_fields | None |
using | 'default' |
/var/www/myenv/lib/python3.7/site-packages/django/db/models/base.py
, line 895, in _save_table
),
)['_order__max']
fields = meta.local_concrete_fields
if not pk_set:
fields = [f for f in fields if f is not meta.auto_field]
returning_fields = meta.db_returning_fields
results = self._do_insert(cls._base_manager, using, fields, returning_fields, raw)…
if results:
for value, field in zip(results[0], returning_fields):
setattr(self, field.attname, value)
return updated
def _do_update(self, base_qs, using, pk_val, values, update_fields, forced_update):
Variable | Value |
---|---|
cls | <class 'eventos.models.Vizualizacoes'> |
fields | [<django.db.models.fields.SlugField: slug>, <django.db.models.fields.IntegerField: quantidade>] |
force_insert | True |
force_update | False |
meta | <Options for Vizualizacoes> |
non_pks | [<django.db.models.fields.SlugField: slug>, <django.db.models.fields.IntegerField: quantidade>] |
pk_set | False |
pk_val | None |
raw | False |
returning_fields | [<django.db.models.fields.AutoField: id>] |
self | <Vizualizacoes: Vizualizacoes object (None)> |
update_fields | None |
updated | False |
using | 'default' |
/var/www/myenv/lib/python3.7/site-packages/django/db/models/base.py
, line 935, in _do_insert
def _do_insert(self, manager, using, fields, returning_fields, raw):
"""
Do an INSERT. If returning_fields is defined then this method should
return the newly created data for the model.
"""
return manager._insert(
[self], fields=fields, returning_fields=returning_fields,
using=using, raw=raw,…
)
def delete(self, using=None, keep_parents=False):
using = using or router.db_for_write(self.__class__, instance=self)
assert self.pk is not None, (
"%s object can't be deleted because its %s attribute is set to None." %
Variable | Value |
---|---|
fields | [<django.db.models.fields.SlugField: slug>, <django.db.models.fields.IntegerField: quantidade>] |
manager | <django.db.models.manager.Manager object at 0x7f2e6b7875c0> |
raw | False |
returning_fields | [<django.db.models.fields.AutoField: id>] |
self | <Vizualizacoes: Vizualizacoes object (None)> |
using | 'default' |
/var/www/myenv/lib/python3.7/site-packages/django/db/models/manager.py
, line 85, in manager_method
def check(self, **kwargs):
return []
@classmethod
def _get_queryset_methods(cls, queryset_class):
def create_method(name, method):
def manager_method(self, *args, **kwargs):
return getattr(self.get_queryset(), name)(*args, **kwargs)…
manager_method.__name__ = method.__name__
manager_method.__doc__ = method.__doc__
return manager_method
new_methods = {}
for name, method in inspect.getmembers(queryset_class, predicate=inspect.isfunction):
Variable | Value |
---|---|
args | ([<Vizualizacoes: Vizualizacoes object (None)>],) |
kwargs | {'fields': [<django.db.models.fields.SlugField: slug>, <django.db.models.fields.IntegerField: quantidade>], 'raw': False, 'returning_fields': [<django.db.models.fields.AutoField: id>], 'using': 'default'} |
name | '_insert' |
self | <django.db.models.manager.Manager object at 0x7f2e6b7875c0> |
/var/www/myenv/lib/python3.7/site-packages/django/db/models/query.py
, line 1254, in _insert
the InsertQuery class and is how Model.save() is implemented.
"""
self._for_write = True
if using is None:
using = self.db
query = sql.InsertQuery(self.model, ignore_conflicts=ignore_conflicts)
query.insert_values(fields, objs, raw=raw)
return query.get_compiler(using=using).execute_sql(returning_fields)…
_insert.alters_data = True
_insert.queryset_only = False
def _batched_insert(self, objs, fields, batch_size, ignore_conflicts=False):
"""
Helper method for bulk_create() to insert objs one batch at a time.
Variable | Value |
---|---|
fields | [<django.db.models.fields.SlugField: slug>, <django.db.models.fields.IntegerField: quantidade>] |
ignore_conflicts | False |
objs | [<Vizualizacoes: Vizualizacoes object (None)>] |
query | <django.db.models.sql.subqueries.InsertQuery object at 0x7f2e6b399160> |
raw | False |
returning_fields | [<django.db.models.fields.AutoField: id>] |
self | <QuerySet [<Vizualizacoes: Vizualizacoes object (1)>, <Vizualizacoes: Vizualizacoes object (2)>, <Vizualizacoes: Vizualizacoes object (3)>, <Vizualizacoes: Vizualizacoes object (4)>, <Vizualizacoes: Vizualizacoes object (5)>, <Vizualizacoes: Vizualizacoes object (6)>, <Vizualizacoes: Vizualizacoes object (7)>, <Vizualizacoes: Vizualizacoes object (8)>, <Vizualizacoes: Vizualizacoes object (9)>, <Vizualizacoes: Vizualizacoes object (10)>, <Vizualizacoes: Vizualizacoes object (11)>, <Vizualizacoes: Vizualizacoes object (12)>, <Vizualizacoes: Vizualizacoes object (13)>, <Vizualizacoes: Vizualizacoes object (14)>, <Vizualizacoes: Vizualizacoes object (15)>, <Vizualizacoes: Vizualizacoes object (16)>, <Vizualizacoes: Vizualizacoes object (17)>, <Vizualizacoes: Vizualizacoes object (18)>, <Vizualizacoes: Vizualizacoes object (19)>, <Vizualizacoes: Vizualizacoes object (20)>, '...(remaining elements truncated)...']> |
using | 'default' |
/var/www/myenv/lib/python3.7/site-packages/django/db/models/sql/compiler.py
, line 1397, in execute_sql
assert not (
returning_fields and len(self.query.objs) != 1 and
not self.connection.features.can_return_rows_from_bulk_insert
)
self.returning_fields = returning_fields
with self.connection.cursor() as cursor:
for sql, params in self.as_sql():
cursor.execute(sql, params)…
if not self.returning_fields:
return []
if self.connection.features.can_return_rows_from_bulk_insert and len(self.query.objs) > 1:
return self.connection.ops.fetch_returned_insert_rows(cursor)
if self.connection.features.can_return_columns_from_insert:
assert len(self.query.objs) == 1
Variable | Value |
---|---|
cursor | <django.db.backends.utils.CursorDebugWrapper object at 0x7f2e6b3997b8> |
params | ['politicadeprivacidade', 0] |
returning_fields | [<django.db.models.fields.AutoField: id>] |
self | <django.db.backends.mysql.compiler.SQLInsertCompiler object at 0x7f2e6b3997f0> |
sql | 'INSERT INTO `eventos_vizualizacoes` (`slug`, `quantidade`) VALUES (%s, %s)' |
/var/www/myenv/lib/python3.7/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 | ['politicadeprivacidade', 0] |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f2e6b3997b8> |
sql | 'INSERT INTO `eventos_vizualizacoes` (`slug`, `quantidade`) VALUES (%s, %s)' |
/var/www/myenv/lib/python3.7/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 | ['politicadeprivacidade', 0] |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f2e6b3997b8> |
sql | 'INSERT INTO `eventos_vizualizacoes` (`slug`, `quantidade`) VALUES (%s, %s)' |
/var/www/myenv/lib/python3.7/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.mysql.base.DatabaseWrapper object at 0x7f2e705909e8>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f2e6b3997b8>} |
executor | <bound method CursorWrapper._execute of <django.db.backends.utils.CursorDebugWrapper object at 0x7f2e6b3997b8>> |
many | False |
params | ['politicadeprivacidade', 0] |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f2e6b3997b8> |
sql | 'INSERT INTO `eventos_vizualizacoes` (`slug`, `quantidade`) VALUES (%s, %s)' |
/var/www/myenv/lib/python3.7/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.mysql.base.DatabaseWrapper object at 0x7f2e705909e8>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f2e6b3997b8>}) |
params | ['politicadeprivacidade', 0] |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f2e6b3997b8> |
sql | 'INSERT INTO `eventos_vizualizacoes` (`slug`, `quantidade`) VALUES (%s, %s)' |
/var/www/myenv/lib/python3.7/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 'MySQLdb._exceptions.DataError'> |
dj_exc_type | <class 'django.db.utils.DataError'> |
dj_exc_value | DataError(1406, "Data too long for column 'slug' at row 1") |
exc_type | <class 'MySQLdb._exceptions.DataError'> |
exc_value | DataError(1406, "Data too long for column 'slug' at row 1") |
self | <django.db.utils.DatabaseErrorWrapper object at 0x7f2e6b836240> |
traceback | <traceback object at 0x7f2e6b6a27c8> |
/var/www/myenv/lib/python3.7/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.mysql.base.DatabaseWrapper object at 0x7f2e705909e8>, 'cursor': <django.db.backends.utils.CursorDebugWrapper object at 0x7f2e6b3997b8>}) |
params | ['politicadeprivacidade', 0] |
self | <django.db.backends.utils.CursorDebugWrapper object at 0x7f2e6b3997b8> |
sql | 'INSERT INTO `eventos_vizualizacoes` (`slug`, `quantidade`) VALUES (%s, %s)' |
/var/www/myenv/lib/python3.7/site-packages/django/db/backends/mysql/base.py
, line 73, in execute
def __init__(self, cursor):
self.cursor = cursor
def execute(self, query, args=None):
try:
# args is None means no string interpolation
return self.cursor.execute(query, args)…
except Database.OperationalError as e:
# Map some error codes to IntegrityError, since they seem to be
# misclassified and Django would prefer the more logical place.
if e.args[0] in self.codes_for_integrityerror:
raise IntegrityError(*tuple(e.args))
raise
Variable | Value |
---|---|
args | ['politicadeprivacidade', 0] |
query | 'INSERT INTO `eventos_vizualizacoes` (`slug`, `quantidade`) VALUES (%s, %s)' |
self | <django.db.backends.mysql.base.CursorWrapper object at 0x7f2e6b399240> |
/var/www/myenv/lib/python3.7/site-packages/MySQLdb/cursors.py
, line 206, in execute
args = tuple(map(db.literal, args))
try:
query = query % args
except TypeError as m:
raise ProgrammingError(str(m))
assert isinstance(query, (bytes, bytearray))
res = self._query(query)…
return res
def executemany(self, query, args):
# type: (str, list) -> int
"""Execute a multi-row query.
Variable | Value |
---|---|
args | (b"'politicadeprivacidade'", b'0') |
db | <_mysql.connection open to 'localhost' at 0x2371998> |
query | (b"INSERT INTO `eventos_vizualizacoes` (`slug`, `quantidade`) VALUES ('politica" b"deprivacidade', 0)") |
self | <MySQLdb.cursors.Cursor object at 0x7f2e6b399fd0> |
/var/www/myenv/lib/python3.7/site-packages/MySQLdb/cursors.py
, line 319, in _query
)
self._query(q)
return args
def _query(self, q):
db = self._get_db()
self._result = None
db.query(q)…
self._do_get_result(db)
self._post_get_result()
self._executed = q
return self.rowcount
def _fetch_row(self, size=1):
Variable | Value |
---|---|
db | <_mysql.connection open to 'localhost' at 0x2371998> |
q | (b"INSERT INTO `eventos_vizualizacoes` (`slug`, `quantidade`) VALUES ('politica" b"deprivacidade', 0)") |
self | <MySQLdb.cursors.Cursor object at 0x7f2e6b399fd0> |
/var/www/myenv/lib/python3.7/site-packages/MySQLdb/connections.py
, line 259, in query
"""
return (cursorclass or self.cursorclass)(self)
def query(self, query):
# Since _mysql releases GIL while querying, we need immutable buffer.
if isinstance(query, bytearray):
query = bytes(query)
_mysql.connection.query(self, query)…
def _bytes_literal(self, bs):
assert isinstance(bs, (bytes, bytearray))
x = self.string_literal(bs) # x is escaped and quoted bytes
if self._binary_prefix:
return b"_binary" + x
Variable | Value |
---|---|
query | (b"INSERT INTO `eventos_vizualizacoes` (`slug`, `quantidade`) VALUES ('politica" b"deprivacidade', 0)") |
self | <_mysql.connection open to 'localhost' at 0x2371998> |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'close' |
HTTP_HOST | 'topchip.com.br' |
HTTP_REFERER | 'https://topchip.com.br/pagina/politicadeprivacidade' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_REAL_IP | '3.85.85.246' |
HTTP_X_SCHEME | 'https' |
PATH_INFO | '/pagina/politicadeprivacidade/' |
QUERY_STRING | '' |
RAW_URI | '/pagina/politicadeprivacidade/' |
REMOTE_ADDR | '127.0.0.1' |
REMOTE_PORT | '49842' |
REQUEST_METHOD | 'GET' |
SCRIPT_NAME | '' |
SERVER_NAME | '0.0.0.0' |
SERVER_PORT | '1000' |
SERVER_PROTOCOL | 'HTTP/1.0' |
SERVER_SOFTWARE | 'gunicorn/20.0.4' |
gunicorn.socket | <socket.socket fd=9, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 1000), raddr=('127.0.0.1', 49842)> |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f2e6b28cdd8> |
wsgi.file_wrapper | <class 'gunicorn.http.wsgi.FileWrapper'> |
wsgi.input | <gunicorn.http.body.Body object at 0x7f2e6b28ca20> |
wsgi.input_terminated | True |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'http' |
wsgi.version | (1, 0) |
topchip.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['*'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | '/var/www/topchip' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
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 |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.mysql', 'HOST': 'localhost', 'NAME': 'newtop4', 'OPTIONS': {'init_command': 'SET innodb_strict_mode=1'}, 'PASSWORD': '********************', 'PORT': '3306', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'root'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
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_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 | 'smtp.gmail.com' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | '' |
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' |
GOOGLE_RECAPTCHA_SECRET_KEY | '********************' |
IGNORABLE_404_URLS | [] |
IMPORT_EXPORT_USE_TRANSACTIONS | True |
INSTALLED_APPS | ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django_extensions', 'rest_framework', 'rest_framework.authtoken', 'eventos', 'sites'] |
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 | 'pt-br' |
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 | '/var/www/topchip/media' |
MEDIA_URL | 'http://topchip.com.br/media/' |
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'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
ROOT_URLCONF | 'topchip.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 | 'topchip.settings' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
STATICFILES_DIRS | ['/var/www/topchip/static', '/var/www/topchip/templates/vuepages/dist', '/var/www/topchip/sites/static'] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/var/www/topchip/static_root' |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/www/topchip/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']}}] |
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 | 'America/Sao_Paulo' |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | 'topchip.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.