Sqlalchemy Abfrage nicht zu begehen
-
20-09-2019 - |
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.
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