Loading django/db/models/sql/subqueries.py +5 −0 Original line number Diff line number Diff line Loading @@ -260,6 +260,11 @@ class DateTimeQuery(DateQuery): compiler = 'SQLDateTimeCompiler' def clone(self, klass=None, memo=None, **kwargs): if 'tzinfo' not in kwargs and hasattr(self, 'tzinfo'): kwargs['tzinfo'] = self.tzinfo return super(DateTimeQuery, self).clone(klass, memo, **kwargs) def _check_field(self, field): assert isinstance(field, DateTimeField), \ "%r isn't a DateTimeField." % field.name Loading tests/datetimes/tests.py +17 −1 Original line number Diff line number Diff line from __future__ import unicode_literals import datetime from unittest import skipIf try: import pytz except ImportError: pytz = None from django.test import TestCase, override_settings from django.utils import timezone from django.test import TestCase from .models import Article, Comment, Category Loading Loading @@ -81,3 +89,11 @@ class DateTimesTests(TestCase): ], lambda d: d, ) @skipIf(pytz is None, "this test requires pytz") @override_settings(USE_TZ=True) def test_21432(self): now = timezone.localtime(timezone.now().replace(microsecond=0)) Article.objects.create(title="First one", pub_date=now) qs = Article.objects.datetimes('pub_date', 'second') self.assertEqual(qs[0], now) Loading
django/db/models/sql/subqueries.py +5 −0 Original line number Diff line number Diff line Loading @@ -260,6 +260,11 @@ class DateTimeQuery(DateQuery): compiler = 'SQLDateTimeCompiler' def clone(self, klass=None, memo=None, **kwargs): if 'tzinfo' not in kwargs and hasattr(self, 'tzinfo'): kwargs['tzinfo'] = self.tzinfo return super(DateTimeQuery, self).clone(klass, memo, **kwargs) def _check_field(self, field): assert isinstance(field, DateTimeField), \ "%r isn't a DateTimeField." % field.name Loading
tests/datetimes/tests.py +17 −1 Original line number Diff line number Diff line from __future__ import unicode_literals import datetime from unittest import skipIf try: import pytz except ImportError: pytz = None from django.test import TestCase, override_settings from django.utils import timezone from django.test import TestCase from .models import Article, Comment, Category Loading Loading @@ -81,3 +89,11 @@ class DateTimesTests(TestCase): ], lambda d: d, ) @skipIf(pytz is None, "this test requires pytz") @override_settings(USE_TZ=True) def test_21432(self): now = timezone.localtime(timezone.now().replace(microsecond=0)) Article.objects.create(title="First one", pub_date=now) qs = Article.objects.datetimes('pub_date', 'second') self.assertEqual(qs[0], now)