#24189 closed Bug (invalid)
Filtering by month or day doesn't work with MySQL
Reported by: | Unai Zalakain | Owned by: | nobody |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | 1.7 |
Severity: | Normal | Keywords: | datetime, timezone, date, month, day |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
While filtering by year works, filtering by month or by date doesn't:
In [1]: from planner.tasks.models import KeyDate In [2]: KeyDate.objects.all() Out[2]: [<KeyDate: Revision>, <KeyDate: Production>] In [3]: KeyDate.objects.all()[0].date Out[3]: datetime.datetime(2015, 1, 20, 14, 1, 20, tzinfo=<UTC>) In [4]: KeyDate.objects.filter(date__year=2015) Out[4]: [<KeyDate: Revision>, <KeyDate: Production>] In [5]: KeyDate.objects.filter(date__month=1) Out[5]: []
If I switch to SQLite everything works as expected.
Change History (3)
comment:1 by , 10 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
follow-up: 3 comment:2 by , 10 years ago
MySQL thinks it's a good idea to return invalid results silently when something goes wrong. I'm sorry to hear that you have to use it.
comment:3 by , 10 years ago
Replying to aaugustin:
MySQL thinks it's a good idea to return invalid results silently when something goes wrong. I'm sorry to hear that you have to use it.
I'm sorry too, believe me, it's the first time I had to use MySQL and, compared to using PostgreSQL it's not a pleasant experience ... I hope we will eventually change to PostgreSQL...
After injecting timezone definitions it didn't work neither... until I restarted the MySQL server.