【发布时间】:2022-05-05 03:00:20
【问题描述】:
我有这门课:
class User(base):
__tablename__='User'
name = Column(.......
def __init__(self, name):
self.name = name
@validates('name')
def validate_name(self, key, name):
if blah blah blah:
return name
else:
raise exception.....
创建一个新用户并将他存储在数据库中...
if __name__ == '__main__':
user = User('foo')
session.add(user)
session.commit() #validation works here
更新用户时:
if __name__ == '__main__':
user = session.query(User).filter_by(name=='foo').first()
user.name = 'bar'
session.add(user)
session.commit() #validation not working here
存储新用户时,验证有效 但是在更新现有用户时,验证不起作用
问:如何在使用@validates 更新其值时验证表列?
谢谢:)
【问题讨论】:
-
对我有用 - 如果没有适当的验证功能,这个问题是不可重现的,所以应该关闭这个问题。
标签: python sqlalchemy flask-sqlalchemy