lundi 4 mai 2015

SQLAlchemy func issue with date and .isocalendar()

I have a table that stores tasks submitted by users, with timestamps. I would like to write a query that returns certain rows based on when they were submitted (was it this day/week/month..).

To check if it was submitted on this week, I wanted to use date.isocalendar()[1] function. The problem is, that my timestamps are datetimes, so I would need to transform those to dates.

Using func: filter(func.date(Task.timestamp) == datetime.date(datetime.utcnow())) works properly.

But I need the date object's isocalendar() method, so I try

filter(func.date(Task.timestamp).isocalendar()[1]==datetime.date(datetime.utcnow()).isocalendar()[1])

and it's no good, I get AttributeError: Neither 'Function' object nor 'Comparator' object has an attribute 'isocalendar'

If I make a simple query and try datetime.date(task.timestamp).isocalendar()[1] it works properly.

How do I get it to work in the query's filter?

Aucun commentaire:

Enregistrer un commentaire