2017-01-17 8 views
1

Я обнаружил, что некоторые приложения Flask используют .db для начала каждого SQL-запроса и в каждом объявлении столбца и таблицы в своей модели (см. https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-iv-database). По-видимому, официальная документация использует этот формат.Почему некоторые приложения для флэков имеют `.db` в каждом заявлении SQLAlchemy, а другие нет?

Но другие приложения, как тот, который я изначально начал с учебника, не (https://github.com/j10sanders/WinTheMini/blob/master/crossword/database.py)

Я предполагаю, что это что-то делать с этой разницей: from app import db против from . import app, но я не понимаю, что это действительно происходит.

+0

Пожалуйста, размещайте соответствующий код здесь, его трудно сохранить на связанных страницах. –

+0

Несомненно. Это версия с '.db': ' class User (db.Model): id = db.Column (db.Integer, primary_key = True) nickname = db.Column (db.String (64), index = True, unique = True) email = db.Column (db.String (120), index = True, unique = True) ' Это версия, которая у меня есть: ' class User (Base, UserMixin) : __tablename__ = "пользователи" ID = Column (Integer, primary_key = True) имя = Column (String (128), уникальный = True) электронная почта = Column (String (128), уникальный = True) ' –

ответ

1

Те, которые используют расширение фляги под названием Flask-SQLAlchemy для поддержания глобальной сессии, пула соединений и т. Д., Используют синтаксис db, о котором вы говорите. Вы можете увидеть API в документах http://flask-sqlalchemy.pocoo.org/2.1/api/.