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