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
問題は、クエリが生成されるが、実際にはデータベースにヒットしないことです。ユーザー変数には、クエリ結果ではなく、生成されたクエリが含まれているだけです。これを修正するにはどうすればよいですか?本当にありがとう。