Sto provando a fare qualcosa di relativamente semplice, sputare i nomi delle colonne e i rispettivi valori di colonna, ed eventualmente filtrare alcune colonne in modo che non vengano mostrate.SQLAlchemy: funzionamento sui risultati
Questo è quello che ho cercato (dopo la connessione iniziale ovviamente):
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
Ho guardato le API su SQLAlchemy (v.5), ma era piuttosto confusa. il mio 'risultato' in 'risultati' è un RowProxy, ma non penso che restituisca l'oggetto giusto per l'invocazione .items().
Diciamo che la mia struttura della tabella è così:
user_id user_name user_password user_country
0 john a9fu93f39uf usa
voglio filtrare e specificare i nomi delle colonne da visualizzare (non voglio mostrare l'user_password ovviamente) - come posso fare questo?
Il primo frammento è quello che inizialmente ho trovato e restituito tutto. Per il secondo snippet ottengo "ValoreErrore: troppi valori per decomprimere" - hrm? –
Ah, non ho specificato le colonne aggiuntive. Proviamo di nuovo –
TypeError: select() richiede al massimo 2 argomenti (4 dati) >> s = users_table.select (users_table.c.user_name, users_table.c.user_location, users_table.c.user_name == username) –