def configure_db(app):
from sqlalchemy import event
from sqlalchemy.orm import mapper
from sqlalchemy.inspection import inspect
alembic.init_app(app)
db.init_app(app)
nplusone.init_app(app)
@event.listens_for(mapper, "init")
def instant_defaults_listener(target, args, kwargs):
for key, column in inspect(type(target)).columns.items():
if column.default is not None:
if callable(column.default.arg):
setattr(target, key, column.default.arg(target))
else:
setattr(target, key, column.default.arg)
event.listen(mapper, 'init', instant_defaults_listener)
评论列表
文章目录