Frage

Ich versuche, eine einfache eindeutigen Benutzername Funktion zur Verwendung in einem Formencode Schema zu erstellen. Hier ist die Funktion:

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  

Das Problem ist, dass die Abfrage generiert wird, aber nie trifft tatsächlich auf die Datenbank. Die Benutzervariable enthält einfach die erzeugte Abfrage, nicht die Abfrageergebnisse. Wie gehe ich über diese Fixierung? Vielen Dank.

War es hilfreich?

Lösung

Es sollte sein:

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

auch: ist es User.user_name oder user.username

?
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top