0
我想以编程方式检查变量以查看它是否是几个允许的字符串之一。我也可以在sql代码中添加一个检查约束,但我并不想那么做。我知道我可以通过kwargs
访问传递给SQLAlchemy对象的参数。什么是最好的什么来断言允许通过论证?然而SQLAlchemy,以编程方式检查参数
class Attend(db.Model):
...
@validates("user_role"):
def _validate_user_role(self, key, value):
assert(user_role in GroupRoles.roles)
return value
您的特定用途的情况下,:
class Attend(db.Model):
__tablename__ = 'attend'
uid = db.Column(db.Integer, db.ForeignKey('user.uid'), primary_key=True)
gid = db.Column(db.Integer, db.ForeignKey('group.gid'), primary_key=True)
# assert(user_role in GroupRoles.roles) -- want to do something like this
user_role = db.Column(db.String)
user = db.relationship('User', back_populates='registered_groups')
group = db.relationship('Group', back_populates='registered_users')
您可以使用枚举类型而不是'String'列类型 – Connie