我将Flask与Flask-SQLAlchemy结合使用,并在代码中创建模型,并使用“ db migration”命令创建迁移文件-所有简单的东西。
我现在正在寻求更改一些模型,以便它们使用mixin添加一些常见字段:date_created和date_updated。
这可以通过在其中添加字段来起作用,但是在我的mixin中描述的字段是在主模型的字段之前添加的。这意味着我在诸如“ ID”之类的重要列之前获得了date_created和date_updated。
有没有一种方法可以明确地告诉flask / sqlalchemy在其他字段之后添加mixin字段?
这是我的代码:
'\0'
这是“ flask db migration”命令随后产生的结果:
class CreatedUpdatedMixin:
date_created = db.Column(db.DateTime, default=db.func.current_timestamp())
date_modified = db.Column(
db.DateTime, default=db.func.current_timestamp(),
onupdate=db.func.current_timestamp()
)
class Bookmark(db.Model, CreatedUpdatedMixin):
__tablename__ = 'bookmark'
bookmark_id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer, db.ForeignKey(User.id))
name = db.Column(db.String(255))
url = db.Column(db.String(255))
由于类继承的性质,我确实知道,这些字段的顺序由此决定,但我希望有一种方法可以对此进行更改。