Python 在执行保存操作之前验证SQLAlchemy枚举
考虑以下列定义:Python 在执行保存操作之前验证SQLAlchemy枚举,python,python-2.7,sqlalchemy,Python,Python 2.7,Sqlalchemy,考虑以下列定义: group_name = db.Column(db.Enum('dogs', 'cats', name='device_group')) 然后在我的API函数中,我执行以下操作: lassie.group_name = userData.group db.session.add(obj) db.session.commit() 问题是,即使userData.group在Python中被视为字符串。即使它的值是“bird”,在我实际执行提交操作之前,我也不会得到任何异常 为
group_name = db.Column(db.Enum('dogs', 'cats', name='device_group'))
然后在我的API函数中,我执行以下操作:
lassie.group_name = userData.group
db.session.add(obj)
db.session.commit()
问题是,即使userData.group
在Python中被视为字符串。即使它的值是“bird”
,在我实际执行提交操作之前,我也不会得到任何异常
- 为什么SQLAlchemy将
视为字符串而不是枚举李>组名
- 如何验证我在对象上输入的值是否为枚举
- 我应该用它吗
@validates('group_name')
时会发生什么?@LawrenceBenson您的意思是什么?编写自定义验证器?@VitalyB解决方案是什么?@KavinRajuS我恐怕找不到。最好的方法是在读写时手动验证enjm值。。。。谢谢@vitalyb当你使用@validates('group_name')
时会发生什么事?@LawrenceBenson你是什么意思?编写自定义验证器?@VitalyB解决方案是什么?@KavinRajuS我恐怕找不到。最好的方法是在读写时手动验证enjm值。。。。谢谢你@VitalyB