Проблема с добавлением данных в БД из Flask SQLAlchemy: No application found. Either work inside a view function or push

У меня возникла проблема. Я ее описал с помощью видео-скриншота, чтобы было более понятнее: https://www.loom.com/share/433602541e5144588a189a44085283f1

Для того, чтобы выловить ошибку, пробую в консоли добавить данные в БД:

from app import db
from app.base.models import Users
admin = Users(email='[email protected]', psw='12345678')
db.session.add(admin)

Traceback (most recent call last):
  File "E:\DjangoEnv\flask-dashboard-volt\lib\site-packages\sqlalchemy\util\_collections.py", line 1020, in __call__
    return self.registry[key]
KeyError: <greenlet.greenlet object at 0x0000028AC99851A8 (otid=0x0000028AC6D70318) current active started main>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "E:\DjangoEnv\flask-dashboard-volt\lib\site-packages\sqlalchemy\orm\scoping.py", line 163, in do
    return getattr(self.registry(), name)(*args, **kwargs)
  File "E:\DjangoEnv\flask-dashboard-volt\lib\site-packages\sqlalchemy\util\_collections.py", line 1022, in __call__
    return self.registry.setdefault(key, self.createfunc())
  File "E:\DjangoEnv\flask-dashboard-volt\lib\site-packages\sqlalchemy\orm\session.py", line 3309, in __call__
    return self.class_(**local_kw)
  File "E:\DjangoEnv\flask-dashboard-volt\lib\site-packages\flask_sqlalchemy\__init__.py", line 136, in __init__
    self.app = app = db.get_app()
  File "E:\DjangoEnv\flask-dashboard-volt\lib\site-packages\flask_sqlalchemy\__init__.py", line 988, in get_app
'No application found. Either work inside a view function or push'

RuntimeError: No application found. Either work inside a view function or push an application context. See http://flask-sqlalchemy.pocoo.org/contexts/.

Такая вот ошибка. Не могу понять, как это решить.

Сам код находится здесь в репозитории.


Ответы (1 шт):

Автор решения: Viktor Andriichuk

Я нашел ошибку. Она была очень банальна:

такой идет запрос в БД: <users [email protected], pbkdf2:sha256:260000$JLcMPCtP2JfdtiEb$a2bd2fe6eb5a7d48c311f6156b94dd3d12dc14680bf1b268273a0917410e1f0c>

такая колонка для хранения пароля: psw = db.Column(db.String(15), nullable=False)

То есть в колонке есть лимит на длину сообщения и, естественно, пароль не влезает.

→ Ссылка