Pregunta

Estoy tratando de hacer una función de consulta que acepta dos objetos datetime.date (fecha_inicial y fecha_final), y devolver todos los registros con un campo relacionado que está entre fecha_inicial y fecha_final. Sin embargo, he encontrado nada como una función between en el manual de web2py, por lo implemento de esta manera:

        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)

Hacer esto es demasiado lento para mi aplicación, ya que su puede haber muchos objetos. Por lo tanto, hay una mejor manera de que pueda poner en práctica esta usando web2py.DAL? Gracias de antemano;)

¿Fue útil?

Solución

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top