2010-12-29 11 views
5

ho bisogno di recuperare ciò che è la data e l'ora correnti per il database sono connesso con SQLAlchemy (non la data e l'ora del computer su cui sono in esecuzione il codice Python). Ho visto questo funzioni, ma non sembrano fare quello che dicono:Come ottenere la data e l'ora correnti da DB usando SQLAlchemy

>>> from sqlalchemy import * 
>>> print func.current_date() 
CURRENT_DATE 
>>> print func.current_timestamp() 
CURRENT_TIMESTAMP 

Inoltre sembra che non hanno bisogno di essere rilegata a qualsiasi sessione SQLAlchemy o il motore. Non ha senso ...

Grazie!

risposta

4

Soluzione per la soluzione: queste funzioni non possono essere utilizzate nel modo in cui sono state utilizzate (print...), ma devono essere richiamate all'interno del codice che interagisce con il database. Ad esempio:

print select([my_table, func.current_date()]).execute() 

o assegnato a un campo in un'operazione di inserimento. Accidentalmente ho scoperto che esiste almeno un paio di parametri per queste funzioni:

  • type_ che indica il tipo di valore per tornare, immagino
  • bind che indica un legame con un motore SQLAlchemy

Due esempi di utilizzo:

func.current_date(type_=types.Date, bind=engine1) 
func.current_timestamp(type_=types.Time, bind=engine2) 

Comunque il mio test sembra dire questi pa i ramet non sono così importanti.

Problemi correlati