Вам просто нужно импортировать его из файла, в котором он находится. Если ваш model.py
находится внутри app/models
, как app/models/model.py
, тогда вы можете просто сделать
from app.models.model import User
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
if __name__ == "__main__":
app.run()
Затем вы можете продолжить работу с моделью, как если бы она находилась в том же файле. Я также заметил, что вы импортируете db
из main.py
. Это приведет к круговой зависимости и откажется работать. Просто создайте файл __init__.py
в том же каталоге, что и модель User, а затем инициализируйте базу данных в этом файле следующим образом:
from flask import current_app as app
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.db'
db = SQLAlchemy(app)
После этого импортируйте БД из __init__.py
, вот так:
from . import db # . here refers to the __init__.py file
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(20))