SilentSokolov
@SilentSokolov

Расширение для Flask и sqlalchemy

Вообщем, возможно ли создать расширение для фласка аля Django-модуль, то есть которое может полноценно работать с sqlalchemy (создавать таблицу, сохранять)?

    from flask.ext.blog import Blog()
    blog = blog(app, db_session=session)

Смысл в том, чтобы он работал с той же сессии, что и остальное приложение.

Есть другой вариант, создавать внутри приложения, и подсасываться в нему:

    db = SQLAlchemy()

    User(db.Model):
    __tablename__ = 'users'
    ....

Подобное можно увидеть в этом расширении

Но тогда, если я захочу создать отношение (relationship) на модель в расширении, получу ошибку о том, что сессии разные и создать отношение невозможно.
    db = SQLAlchemy() # новый!

    Group(db.Model):
    __tablename__ = 'groups'
    ....
    users = db.relationship('User') # ошибка мапинга


Идеи?
  • Вопрос задан
  • 3670 просмотров
Пригласить эксперта
Ответы на вопрос 2
@ramzes_yan
а если db импортировать из User?
Ответ написан
@defuz
Что вам мешает принимать db.session как аргумент вашего расширения? И да, подумайте хорошенько, вам нужен именно extention или blueprint, потому что понятие «блог» больше напоминает именно blueprint.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы