我的SQLAlchemy app.py
中有一个create_all调用@app.before_first_request
def create_tables():
db.create_all()
在user.py模型文件中定义基本用户:
class UserModel(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key = True)
username = db.Column(db.String(80))
password = db.Column(db.String(80))
def __init__(self, username, password):
self.username = username
self.password = password
我想预先填充一些默认数据,在本例中是一些基本用户:
admin = self('admin', 'test')
guest = self('guest', 'test')
我能以某种方式在app.py中输入它们吗?或者在另一个create_data.py类型文件中?
答案 0 :(得分:4)
你可以像这样创建一个example_data.py文件:
from user import UserModel
def db_load_example_data(app, db):
admin = UserModel('admin', 'test')
guest = UserModel('guest', 'test')
with app.app_context():
db.session.add(admin)
db.session.add(guest)
db.commit()
然后在你的启动脚本中你可以调用这个
from example_data import db_load_example_data
db_load_example_data(app, db)