Ich versuche, etwas relativ einfaches zu tun, spucke die Spaltennamen und die entsprechenden Spaltenwerte aus und filtere möglicherweise einige Spalten aus, damit sie nicht angezeigt werden.SQLAlchemy: Nach Ergebnissen arbeiten
Dies ist, was ich (nach der ersten Verbindung natürlich) versucht:
metadata = MetaData(engine)
users_table = Table('fusion_users', metadata, autoload=True)
s = users_table.select(users_table.c.user_name == username)
results = s.execute()
if results.rowcount != 1:
return 'Sorry, user not found.'
else:
for result in results:
for x, y in result.items()
print x, y
schaute ich auf die API auf SQLAlchemy (V.5), sondern eher verwirrt. Mein 'Ergebnis' in 'Ergebnissen' ist ein RowProxy, aber ich glaube nicht, dass es das richtige Objekt für den Aufruf von .items() zurückgibt.
Lassen Sie uns meine Tabellenstruktur sagen ist so:
user_id user_name user_password user_country
0 john a9fu93f39uf usa
Ich möchte filtern und die Spaltennamen angeben, um zu zeigen, (i die user_password offensichtlich nicht wollen, um zeigen) - wie kann ich das erreichen?
Der erste Ausschnitt ist, was ich anfing und kehrte alles zurück. Für das zweite Snippet bekomme ich "ValueError: zu viele Werte zum Entpacken" - hrm? –
Ah, ich habe die zusätzlichen Spalten nicht angegeben. Versuchen wir es noch einmal. –
TypeError: select() benötigt höchstens 2 Argumente (4 gegeben) >> s = users_table.select (users_table.c.user_name, users_table.c.user_location, users_table.c.user_name == username) –