我正在尝试创建一个简单的唯一用户名函数以用于 Formencode 模式。这是函数:
class UniqueUsername(formencode.FancyValidator):
def _to_python(self, value, state):
user = DBSession.query(User.user_name).filter(User.username==value)
if user is not None:
raise formencode.Invalid(
'That username already exists', value, state)
return value
问题是生成了查询但从未真正访问数据库。用户变量只包含生成的查询,而不是查询结果。我该如何解决这个问题?非常感谢。
最佳答案
应该是:
user = DBSession.query(User.user_name).filter(User.username==value).first()
另外:是 User.user_name 还是 User.username ?
关于python - SQLalchemy 查询未提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1944423/