2011-01-16 4 views
2

Tauchen Sie einfach in Pylonen hier, und versuche, mich um die Grundlagen von SQLALchemy. Ich habe herausgefunden, wie eine Aufzeichnung von ID laden:SQLAlchemy - Laden Benutzer von Benutzername

user_q = session.query(model.User) 
user = user_q.get(user_id) 

Aber wie Abfrage, die ich von einem bestimmten Feld (das heißt username)? Ich nehme an, dass es einen schnellen Weg gibt, dies mit dem Modell zu tun, anstatt die Abfrage manuell zu erstellen. Ich denke, es hat etwas mit der add_column()-Funktion für das Abfrageobjekt, aber ich kann nicht richtig herausfinden, wie man es benutzt. Ich habe Sachen wie diese versuchen, aber offensichtlich funktioniert es nicht:

user_q = meta.Session.query(model.User).add_column('username'=user_name) 
user = user_q.get() 

Antwort

3

Ich glaube, Sie so etwas wie dies wollen:

user = meta.Session.query(model.User).filter_by(name=user_name).first() 

, die für diese kurz:

user = meta.Session.query(model.User).filter(model.User.name=user_name).first() 

Here's more documentation

Wenn Sie first() inändernwird eine Ausnahme ausgelöst, wenn kein Benutzer vorhanden ist (wenn Sie einen Benutzer angeben möchten).

Ich schlage vor, lesen Sie sowohl durch Object Relational Tutorial als auch die und die SQL Expression Language Tutorial.

+0

Super, danke! – keithjgrant

Verwandte Themen