Domanda

Sto cercando di fare una funzione di query che accetta due oggetti datetime.date (data_iniziale e data finale), e restituire tutti i record con un campo correlato che è tra data_iniziale e data finale. Tuttavia, ho trovato niente di meglio di una funzione between nel manuale web2py, quindi a implementare in questo modo:

        for o in objects:
            # notice that create_time is a datetime field
            create_date = dt.datetime.strptime(o['create_time'], 
                                               "%Y-%m-%d %H:%M:%S").strftime("%Y-%m-%d")
        if query_dict['create_date_1'] <= create_date <= query_dict['create_date_2']:
            result.append(l)

Fare questo è troppo lento per la mia domanda perché il loro possono essere molti oggetti. Quindi, c'è un modo migliore che posso implementare questo utilizzando web2py.DAL? Grazie in anticipo;)

È stato utile?

Soluzione

db((db.mytable.create_date>=query_dict['create_date1'])&(db.mytable.create_date<=query_dict['create_date2'])).select()

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top