• Как в пакете наследоваться от db.Model, определённого в приложении?

    @n4nn31355
    А можете объяснить адекватную причину, почему экземпляр БД должен создаваться в приложении?
    Если работа с моделями ведётся в отдельном пакете, то вполне логично там же объявлять и экземпляр БД. Так и целостность не нарушится реши вы, например, подключить пакет к приложению, в котором в качестве основной ОРМ используется что-то отличное от Flask-SQLAlchemy. Т.е. от самого приложения зависеть он не будет:

    project/app/__init__.py:
    from flask import Flask
    from components.role.models import db
    # ...
    def create_app(config_name):
        app = Flask(__name__)
        # ...
        db.init_app(app)
        return app


    project/components/role/models.py:
    from flask.ext.sqlalchemy import SQLAlchemy
    
    db = SQLAlchemy()
    
    class Base(db.Model):
       pass
    Ответ написан