при удалении юзера, сервер возвращает 500 код.
Логи СЕРВЕРА:
127.0.0.1 - - [24/Jun/2022 16:27:33] "DELETE /api/user/tg/809737708?force=False HTTP/1.1" 500 -
Traceback (most recent call last):
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\engine\base.py", line 1802, in _execute_context
self.dialect.do_execute(
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\engine\default.py", line 732, in do_execute
cursor.execute(statement, parameters)
psycopg2.errors.ForeignKeyViolation: update or delete on table "students" violates foreign key constraint "homeworks_author_id_fkey" on table "homeworks"
DETAIL: Key (id)=(1) is still referenced from table "homeworks".
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\flask\app.py", line 2091, in call
return self.wsgi_app(environ, start_response)
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\flask\app.py", line 2076, in wsgi_app
response = self.handle_exception(e)
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\flask\app.py", line 2073, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\flask\app.py", line 1518, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\flask\app.py", line 1516, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\flask\app.py", line 1502, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
File "C:\Users\Rulka\Main\programming\projects\HomeBot\API\api_modules\user_api.py", line 116, in del_user
db_sess.commit()
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\orm\session.py", line 1431, in commit
self._transaction.commit(_to_root=self.future)
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\orm\session.py", line 829, in commit
self._prepare_impl()
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\orm\session.py", line 808, in _prepare_impl
self.session.flush()
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\orm\session.py", line 3363, in flush
self._flush(objects)
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\orm\session.py", line 3503, in flush
transaction.rollback(capture_exception=True)
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\util\langhelpers.py", line 70, in exit
compat.raise(
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\util\compat.py", line 207, in raise
raise exception
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\orm\session.py", line 3463, in _flush
flush_context.execute()
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\orm\unitofwork.py", line 456, in execute
rec.execute(self)
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\orm\unitofwork.py", line 667, in execute
util.preloaded.orm_persistence.delete_obj(
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\orm\persistence.py", line 342, in delete_obj
_emit_delete_statements(
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\orm\persistence.py", line 1442, in _emit_delete_statements
c = connection._execute_20(
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\engine\base.py", line 1614, in _execute_20
return meth(self, args_10style, kwargs_10style, execution_options)
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\sql\elements.py", line 325, in _execute_on_connection
return connection._execute_clauseelement(
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\engine\base.py", line 1481, in _execute_clauseelement
ret = self._execute_context(
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\engine\base.py", line 1845, in _execute_context
self.handle_dbapi_exception(
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\engine\base.py", line 2026, in handle_dbapi_exception
util.raise(
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\util\compat.py", line 207, in raise
raise exception
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\engine\base.py", line 1802, in _execute_context
self.dialect.do_execute(
File "C:\Users\Rulka\AppData\Roaming\Python\Python39\site-packages\sqlalchemy\engine\default.py", line 732, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.IntegrityError: (psycopg2.errors.ForeignKeyViolation) update or delete on table "students" violates foreign key constraint "homeworks_author_id_fkey" on table "homeworks"
DETAIL: Key (id)=(1) is still referenced from table "homeworks".
[SQL: DELETE FROM students WHERE students.id = %(id)s]
[parameters: {'id': 1}]
(Background on this error at: https://sqlalche.me/e/14/gkpj)