所以我正在使用 Flask 开发一个 webapp。我在我的数据模型中遵循了一个命名约定,但似乎这个约定没有与 Flask-extensions 正确集成以进行特定字段命名,例如引用来自Flask-Security 扩展
楷模
Flask-Security 假设您将使用 SQLAlchemy、MongoEngine、Peewee 或 PonyORM 等库来定义包含用户和角色模型的数据模型。您的模型上的字段必须遵循特定的约定,具体取决于您的应用程序所需的功能。除此之外,您可以根据需要向模型中添加任何其他字段。您的用户和角色模型至少应包含以下字段:
用户
id email password active
...
现在假设我的用户模型是这样的:
class User(UserMixin, db.Model):
'''This model represents all types of Users registered'''
__tablename__ = 'users'
user_id = db.Column(db.Integer, primary_key=True)
user_email = db.Column(db.String(64), unique=True, index=True)
user_password_hash = db.Column(db.String(128))
如果我必须将模型的字段更改为 Flask 扩展所需的字段,则需要我更改很多文件,这是一项乏味的任务。
我想到的是这样的:
class User(UserMixin, db.Model):
'''This model represents all types of Users registered'''
__tablename__ = 'users'
user_id = db.Column(db.Integer, primary_key=True)
id = self.user_id #For Flask-Extensions
user_email = db.Column(db.String(64), unique=True, index=True)
email = self.user_email #For Flask-Extensions
user_password_hash = db.Column(db.String(128))
password = self.user_password_hash #For Flask-Extensions
这个解决方案有多糟糕,我有什么替代方案?