Pergunta

Estou tentando criar uma função simples de nome de usuário exclusiva para uso em um esquema de formação. Aqui está a função:

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  

O problema é que a consulta é gerada, mas nunca atinge o banco de dados. A variável do usuário simplesmente contém a consulta gerada, não os resultados da consulta. Como faço para consertar isso? Muito obrigado.

Foi útil?

Solução

Deveria ser:

user = DBSession.query(User.user_name).filter(User.username==value).first()

Além disso: é user.user_name ou user.username?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top