python flask sqlalchemy - работа с базой данных sqlite из терминала python - PullRequest
0 голосов
/ 11 октября 2019

У меня есть скрипт python app.py, использующий Flask и SQLAlchemy для создания веб-приложения.

У меня есть таблица в скрипте app.py

class NutritionConsumed(db.Model):
    __tablename__ = 'nutritionconsumed'
    id = db.Column(db.Integer, primary_key=True)
    date = db.Column(db.DateTime, nullable=False )
    item = db.Column(db.String(200), nullable=False)

в той же папкеУ меня есть база данных sqlite «test.db». При запуске в браузере все работает нормально, и я могу читать и отображать данные из своих таблиц.

Однако как мне получить доступ к этой базе данных в терминале оболочки Python?

При запуске python в той же директориипоскольку мое веб-приложение находится, если я запускаю

>>> nutritionconsumed.query.all()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'nutritionconsumed' is not defined

, но в моем test.db у меня есть таблица потребляемого питания.

Ответы [ 2 ]

2 голосов
/ 11 октября 2019

nutritionconsumed - это имя таблицы, и такая переменная не существует по умолчанию. Если вы хотите запросить эту модель, вы должны импортировать ее класс и использовать вместо него имя класса.

NutritionConsumed.query.all()

0 голосов
/ 11 октября 2019

Представление класса таблицы в Flask называется Model . Модель пользователя должна быть импортирована для использования, как и любой другой класс в Python:

from app import NutritionConsumed
NutritionConsumed.query.all()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...