Задать вопрос
SilentSokolov
@SilentSokolov

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

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



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


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



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



db = SQLAlchemy()<br>
<br>
    User(db.Model):<br>
    __tablename__ = 'users'<br>
    ....<br>


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



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

db = SQLAlchemy() # новый!<br>
<br>
    Group(db.Model):<br>
    __tablename__ = 'groups'<br>
    ....<br>
    users = db.relationship('User') # ошибка мапинга<br>




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

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

Похожие вопросы