Pregunta

Estoy tratando de crear una simple función de nombre de usuario único para su uso en un esquema Formencode. Esta es la función:

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  

El problema es que la consulta se genera en realidad nunca golpea la base de datos, pero. La variable de usuario simplemente contiene la consulta generada, no los resultados de la consulta. ¿Cómo hago para arreglar esto? Muchas gracias.

¿Fue útil?

Solución

Debe ser:

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

también: ¿es User.user_name o User.username

?
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top