python - SQLalchemy 查询未提交

标签 python sqlalchemy formencode

我正在尝试创建一个简单的唯一用户名函数以用于 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/

相关文章:

python - Sublime Text 3 的 REPL 错误

python - 如何在 sympy 中默认设置 **设置

Python 字典 - 将数组附加到字典中的特定键。

mysql - SQLAlchemy 子字符串过滤

python - python表单验证库的推荐

python - 我的 formencode.variabledecode 返回一个空列表 - Pylons

Python 信号甚至在 Cygwin 上也不起作用?

python - 在过滤器 SQLAlchemy 中进行日期时间比较

python - 将 __slots__ 与 SQLAlchemy 模型一起使用