Я создаю приложение для колб, в котором я использую метод фабрики приложений. У меня есть файл в папке приложения __init__.py
, который имеет функцию create_app
со следующим кодом
def create_app(test_config=None):
app = Flask(__name__,instance_relative_config=True)
app.config.from_mapping(
SECRET_KEY='dev',
)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:@localhost/database'
db = SQLAlchemy(app)
if test_config == None:
app.config.from_pyfile('config.py',silent=True)
else:
app.config.form_mapping(test_config)
from flaskr import models
try:
os.makedirs(app.instance_path)
except OSError:
pass
class User(db.Model):
id = db.Column(db.Integer,primary_key=True)
uname = db.Column(db.String(50))
@app.route('/hello')
def hello():
return json.dumps({'message':'hello','status':True})
@app.route('/getusers')
def getusers():
u = User.query.get(1)
return json.dumps({'uname':u.uname})
return app
То, что я хочу, - это определить модели в отдельном файле. Как я могу это сделать?
Я попытался определить в отдельном файле и импортировать его. Но проблема в том, что модель наследует db.Model
, который затем недоступен в импортированном файле.