| 514 | |
| 515 | @skipUnlessDBFeature("has_zoneinfo_database") |
| 516 | def test_query_datetimes(self): |
| 517 | Event.objects.create(dt=datetime.datetime(2011, 1, 1, 1, 30, 0, tzinfo=EAT)) |
| 518 | Event.objects.create(dt=datetime.datetime(2011, 1, 1, 4, 30, 0, tzinfo=EAT)) |
| 519 | self.assertSequenceEqual( |
| 520 | Event.objects.datetimes("dt", "year"), |
| 521 | [datetime.datetime(2011, 1, 1, 0, 0, 0, tzinfo=EAT)], |
| 522 | ) |
| 523 | self.assertSequenceEqual( |
| 524 | Event.objects.datetimes("dt", "month"), |
| 525 | [datetime.datetime(2011, 1, 1, 0, 0, 0, tzinfo=EAT)], |
| 526 | ) |
| 527 | self.assertSequenceEqual( |
| 528 | Event.objects.datetimes("dt", "day"), |
| 529 | [datetime.datetime(2011, 1, 1, 0, 0, 0, tzinfo=EAT)], |
| 530 | ) |
| 531 | self.assertSequenceEqual( |
| 532 | Event.objects.datetimes("dt", "hour"), |
| 533 | [ |
| 534 | datetime.datetime(2011, 1, 1, 1, 0, 0, tzinfo=EAT), |
| 535 | datetime.datetime(2011, 1, 1, 4, 0, 0, tzinfo=EAT), |
| 536 | ], |
| 537 | ) |
| 538 | self.assertSequenceEqual( |
| 539 | Event.objects.datetimes("dt", "minute"), |
| 540 | [ |
| 541 | datetime.datetime(2011, 1, 1, 1, 30, 0, tzinfo=EAT), |
| 542 | datetime.datetime(2011, 1, 1, 4, 30, 0, tzinfo=EAT), |
| 543 | ], |
| 544 | ) |
| 545 | self.assertSequenceEqual( |
| 546 | Event.objects.datetimes("dt", "second"), |
| 547 | [ |
| 548 | datetime.datetime(2011, 1, 1, 1, 30, 0, tzinfo=EAT), |
| 549 | datetime.datetime(2011, 1, 1, 4, 30, 0, tzinfo=EAT), |
| 550 | ], |
| 551 | ) |
| 552 | |
| 553 | @skipUnlessDBFeature("has_zoneinfo_database") |
| 554 | def test_query_datetimes_in_other_timezone(self): |