Ho un problema con SQL Alchemy - la mia app funziona come un'applicazione python costantemente funzionante.Come evitare la memorizzazione nella cache in sqlalchemy?
devo funzione come questa:
def myFunction(self, param1):
s = select([statsModel.c.STA_ID, statsModel.c.STA_DATE)])\
.select_from(statsModel)
statsResult = self.connection.execute(s).fetchall()
return {'result': statsResult, 'calculation': param1}
Credo che questo sia chiaro esempio - un set di risultati vengono recuperati dal database, il secondo è appena passato come argomento.
Il problema è che quando cambio i dati nel mio database, questa funzione restituisce comunque dati come se nulla fosse cambiato. Quando cambio i dati nel parametro di input, il parametro restituito "calcolo" ha il valore corretto.
Quando riavvio il server dell'app, la situazione torna normale - i nuovi dati vengono recuperati da MySQL.
So che ci sono state diverse domande su SQLAlchemy caching come:
How to disable caching correctly in Sqlalchemy orm session?
How to disable SQLAlchemy caching?
ma come altro posso chiamare questa situazione? Sembra che SQLAlchemy mantenga i dati recuperati prima e non esegua nuove query fino al riavvio dell'applicazione. Come posso evitare questo comportamento?
Come si modificano i dati nel database? È cambiato? – icecrime
L'ho cambiato manualmente. Il motore del database è MySQL. Sì, il cambiamento è impegnato. – Archarius
http://stackoverflow.com/a/15788051/497208 può essere utile –