From 04449f79d8e297f63cfcc422d9d9df8849ef0040 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20J=C3=B3zef=20Drupisz?= <kdrupisz@meta.com> Date: Sat, 9 Mar 2024 14:28:04 +0000 Subject: [PATCH] quick fix no database some errors --- myproject/debug.log | 260 ++++++++++++++++++++++++++++++++++++++ myproject/myapp/models.py | 10 -- myproject/myapp/views.py | 19 ++- 3 files changed, 274 insertions(+), 15 deletions(-) diff --git a/myproject/debug.log b/myproject/debug.log index f59a078..1ea16f6 100644 --- a/myproject/debug.log +++ b/myproject/debug.log @@ -126,3 +126,263 @@ Watching for file changes with StatReloader Watching for file changes with StatReloader /usr/src/app/myapp/views.py changed, reloading. Watching for file changes with StatReloader +Internal Server Error: /uploading_file/ +Traceback (most recent call last): + File "/usr/local/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner + response = get_response(request) + ^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response + response = wrapped_callback(request, *callback_args, **callback_kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/src/app/myapp/views.py", line 19, in handling_music_file + log_data = get_log_data(Action.UPLOAD_FILE, 'success', file=request.FILES['audio_file'].name) + ^^^^^^^^^^^^ +NameError: name 'get_log_data' is not defined +/usr/src/app/myapp/views.py changed, reloading. +Watching for file changes with StatReloader +/usr/src/app/myapp/views.py changed, reloading. +Watching for file changes with StatReloader +/usr/src/app/myapp/views.py changed, reloading. +Watching for file changes with StatReloader +/usr/src/app/myapp/models.py changed, reloading. +Watching for file changes with StatReloader +Internal Server Error: /uploading_file/ +Traceback (most recent call last): + File "/usr/local/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner + response = get_response(request) + ^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response + response = wrapped_callback(request, *callback_args, **callback_kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/src/app/myapp/views.py", line 28, in handling_music_file + log_data = get_log_data(Action.UPLOAD_FILE, 'success', file=request.FILES['audio_file'].name) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/src/app/myapp/views.py", line 15, in get_log_data + log_data.update(additional_fields) + ^^^^^^^^^^^^^^^^^ +NameError: name 'additional_fields' is not defined +/usr/src/app/myapp/views.py changed, reloading. +Watching for file changes with StatReloader +Internal Server Error: /uploading_file/ +Traceback (most recent call last): + File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 134, in debug_sql + yield + File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 122, in execute + return super().execute(sql, params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 79, in execute + return self._execute_with_wrappers( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 92, in _execute_with_wrappers + return executor(sql, params, many, context) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 105, in _execute + return self.cursor.execute(sql, params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/psycopg/cursor.py", line 728, in execute + self._conn.wait( + File "/usr/local/lib/python3.11/site-packages/psycopg/connection.py", line 969, in wait + return waiting.wait(gen, self.pgconn.socket, timeout=timeout) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "psycopg_binary/_psycopg/waiting.pyx", line 190, in psycopg_binary._psycopg.wait_c + File "/usr/local/lib/python3.11/site-packages/psycopg/cursor.py", line 210, in _execute_gen + pgq = self._convert_query(query, params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/psycopg/client_cursor.py", line 79, in _convert_query + pgq.convert(query, params) + File "/usr/local/lib/python3.11/site-packages/psycopg/_queries.py", line 213, in convert + self.dump(vars) + File "/usr/local/lib/python3.11/site-packages/psycopg/_queries.py", line 223, in dump + self.params = tuple( + ^^^^^^ + File "/usr/local/lib/python3.11/site-packages/psycopg/_queries.py", line 224, in <genexpr> + self._tx.as_literal(p) if p is not None else b"NULL" for p in params + ^^^^^^^^^^^^^^^^^^^^^^ + File "psycopg_binary/_psycopg/transform.pyx", line 206, in psycopg_binary._psycopg.Transformer.as_literal + File "psycopg_binary/_psycopg/transform.pyx", line 215, in psycopg_binary._psycopg.Transformer.as_literal + File "/usr/local/lib/python3.11/site-packages/psycopg/adapt.py", line 57, in quote + value = self.dump(obj) + ^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/psycopg/types/json.py", line 151, in dump + data = dumps(obj) + ^^^^^^^^^^ + File "/usr/local/lib/python3.11/json/__init__.py", line 231, in dumps + return _default_encoder.encode(obj) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/json/encoder.py", line 200, in encode + chunks = self.iterencode(o, _one_shot=True) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/json/encoder.py", line 258, in iterencode + return _iterencode(o, 0) + ^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/json/encoder.py", line 180, in default + raise TypeError(f'Object of type {o.__class__.__name__} ' +TypeError: Object of type Action is not JSON serializable + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/usr/local/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner + response = get_response(request) + ^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response + response = wrapped_callback(request, *callback_args, **callback_kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/src/app/myapp/views.py", line 29, in handling_music_file + create_log(request.user if request.user.is_authenticated else None, log_data) + File "/usr/src/app/myapp/views.py", line 19, in create_log + Log.objects.create(user=user, log=log_data) + File "/usr/local/lib/python3.11/site-packages/django/db/models/manager.py", line 87, in manager_method + return getattr(self.get_queryset(), name)(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/db/models/query.py", line 677, in create + obj.save(force_insert=True, using=self.db) + File "/usr/local/lib/python3.11/site-packages/django/db/models/base.py", line 822, in save + self.save_base( + File "/usr/local/lib/python3.11/site-packages/django/db/models/base.py", line 909, in save_base + updated = self._save_table( + ^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/db/models/base.py", line 1067, in _save_table + results = self._do_insert( + ^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/db/models/base.py", line 1108, in _do_insert + return manager._insert( + ^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/db/models/manager.py", line 87, in manager_method + return getattr(self.get_queryset(), name)(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/db/models/query.py", line 1845, in _insert + return query.get_compiler(using=using).execute_sql(returning_fields) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/db/models/sql/compiler.py", line 1823, in execute_sql + cursor.execute(sql, params) + File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 121, in execute + with self.debug_sql(sql, params, use_last_executed_query=True): + File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__ + self.gen.throw(typ, value, traceback) + File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 139, in debug_sql + sql = self.db.ops.last_executed_query(self.cursor, sql, params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/db/backends/postgresql/operations.py", line 302, in last_executed_query + return self.compose_sql(sql, params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/db/backends/postgresql/operations.py", line 195, in compose_sql + return mogrify(sql, params, self.connection) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/db/backends/postgresql/psycopg_any.py", line 22, in mogrify + return ClientCursor(cursor.connection).mogrify(sql, params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/psycopg/client_cursor.py", line 40, in mogrify + pgq = self._convert_query(query, params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/psycopg/client_cursor.py", line 79, in _convert_query + pgq.convert(query, params) + File "/usr/local/lib/python3.11/site-packages/psycopg/_queries.py", line 213, in convert + self.dump(vars) + File "/usr/local/lib/python3.11/site-packages/psycopg/_queries.py", line 223, in dump + self.params = tuple( + ^^^^^^ + File "/usr/local/lib/python3.11/site-packages/psycopg/_queries.py", line 224, in <genexpr> + self._tx.as_literal(p) if p is not None else b"NULL" for p in params + ^^^^^^^^^^^^^^^^^^^^^^ + File "psycopg_binary/_psycopg/transform.pyx", line 206, in psycopg_binary._psycopg.Transformer.as_literal + File "psycopg_binary/_psycopg/transform.pyx", line 215, in psycopg_binary._psycopg.Transformer.as_literal + File "/usr/local/lib/python3.11/site-packages/psycopg/adapt.py", line 57, in quote + value = self.dump(obj) + ^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/psycopg/types/json.py", line 151, in dump + data = dumps(obj) + ^^^^^^^^^^ + File "/usr/local/lib/python3.11/json/__init__.py", line 231, in dumps + return _default_encoder.encode(obj) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/json/encoder.py", line 200, in encode + chunks = self.iterencode(o, _one_shot=True) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/json/encoder.py", line 258, in iterencode + return _iterencode(o, 0) + ^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/json/encoder.py", line 180, in default + raise TypeError(f'Object of type {o.__class__.__name__} ' +TypeError: Object of type Action is not JSON serializable +/usr/src/app/myapp/views.py changed, reloading. +Watching for file changes with StatReloader +/usr/src/app/myapp/views.py changed, reloading. +Watching for file changes with StatReloader +Internal Server Error: /uploading_file/ +Traceback (most recent call last): + File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 105, in _execute + return self.cursor.execute(sql, params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/psycopg/cursor.py", line 732, in execute + raise ex.with_traceback(None) +psycopg.errors.UndefinedTable: relation "myapp_log" does not exist +LINE 1: INSERT INTO "myapp_log" ("date", "user_id", "log") VALUES ('... + ^ + +The above exception was the direct cause of the following exception: + +Traceback (most recent call last): + File "/usr/local/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner + response = get_response(request) + ^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response + response = wrapped_callback(request, *callback_args, **callback_kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/src/app/myapp/views.py", line 29, in handling_music_file + create_log(request.user if request.user.is_authenticated else None, log_data) + File "/usr/src/app/myapp/views.py", line 19, in create_log + Log.objects.create(user=user, log=log_data) + File "/usr/local/lib/python3.11/site-packages/django/db/models/manager.py", line 87, in manager_method + return getattr(self.get_queryset(), name)(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/db/models/query.py", line 677, in create + obj.save(force_insert=True, using=self.db) + File "/usr/local/lib/python3.11/site-packages/django/db/models/base.py", line 822, in save + self.save_base( + File "/usr/local/lib/python3.11/site-packages/django/db/models/base.py", line 909, in save_base + updated = self._save_table( + ^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/db/models/base.py", line 1067, in _save_table + results = self._do_insert( + ^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/db/models/base.py", line 1108, in _do_insert + return manager._insert( + ^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/db/models/manager.py", line 87, in manager_method + return getattr(self.get_queryset(), name)(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/db/models/query.py", line 1845, in _insert + return query.get_compiler(using=using).execute_sql(returning_fields) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/db/models/sql/compiler.py", line 1823, in execute_sql + cursor.execute(sql, params) + File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 122, in execute + return super().execute(sql, params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 79, in execute + return self._execute_with_wrappers( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 92, in _execute_with_wrappers + return executor(sql, params, many, context) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 100, in _execute + with self.db.wrap_database_errors: + File "/usr/local/lib/python3.11/site-packages/django/db/utils.py", line 91, in __exit__ + raise dj_exc_value.with_traceback(traceback) from exc_value + File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 105, in _execute + return self.cursor.execute(sql, params) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.11/site-packages/psycopg/cursor.py", line 732, in execute + raise ex.with_traceback(None) +django.db.utils.ProgrammingError: relation "myapp_log" does not exist +LINE 1: INSERT INTO "myapp_log" ("date", "user_id", "log") VALUES ('... + ^ +/usr/src/app/myapp/views.py changed, reloading. +Watching for file changes with StatReloader +/usr/src/app/myapp/views.py changed, reloading. +Watching for file changes with StatReloader +/usr/src/app/myapp/views.py changed, reloading. +Watching for file changes with StatReloader +/usr/src/app/myapp/views.py changed, reloading. +Watching for file changes with StatReloader diff --git a/myproject/myapp/models.py b/myproject/myapp/models.py index 7a6ee44..ce6212e 100644 --- a/myproject/myapp/models.py +++ b/myproject/myapp/models.py @@ -81,16 +81,6 @@ class Log(models.Model): user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True) log = models.JSONField() -def get_log_data(action, status='success', file=None, **additional_field): - log_data = { - 'action': action, - 'status': status, - 'file': file, - } - log_data.update(additional_fields) - return log_data - - # # LOGIN # log_data = get_log_data(Action.LOGIN, 'success', user=request.user.username) # create_log(log_data) diff --git a/myproject/myapp/views.py b/myproject/myapp/views.py index 44d758a..4a699f0 100644 --- a/myproject/myapp/views.py +++ b/myproject/myapp/views.py @@ -3,9 +3,18 @@ from django.template import RequestContext import logging from django.http import HttpResponse from django.utils import timezone - +from .models import Log, Action logger = logging.getLogger(__name__) +def get_log_data(action, status='success', file=None, **additional_fields): + log_data = { + 'action': action.value, + 'status': status, + 'file': file, + } + log_data.update(additional_fields) + return log_data + def create_log(user, log_data): Log.objects.create(user=user, log=log_data) @@ -17,11 +26,11 @@ def handling_music_file(request): 'file': request.FILES['audio_file'].name, } log_data = get_log_data(Action.UPLOAD_FILE, 'success', file=request.FILES['audio_file'].name) - create_log(request.user if request.user.is_authenticated else None, log_data) - return HttpResponse('File uploaded successfully!') + # create_log(request.user if request.user.is_authenticated else None, log_data) + return HttpResponse('File uploaded successfully!',log_data) log_data = get_log_data(Action.invalid_file, 'error') - create_log(None, log_data) - return HttpResponse('File invalid') + # create_log(None, log_data) + return HttpResponse('File invalid',log_data) def index(request): #for now this authenication just returns the main view -- GitLab