|
@@ -15,7 +15,14 @@ from django.db.models.expressions import (
|
|
|
)
|
|
|
from django.db.models.functions import Collate
|
|
|
from django.db.models.lookups import GreaterThan
|
|
|
-from django.test import SimpleTestCase, TestCase, skipIfDBFeature, skipUnlessDBFeature
|
|
|
+from django.test import (
|
|
|
+ SimpleTestCase,
|
|
|
+ TestCase,
|
|
|
+ override_settings,
|
|
|
+ skipIfDBFeature,
|
|
|
+ skipUnlessDBFeature,
|
|
|
+)
|
|
|
+from django.utils import timezone
|
|
|
|
|
|
from .models import (
|
|
|
Article,
|
|
@@ -69,12 +76,13 @@ class DefaultTests(TestCase):
|
|
|
self.assertIsNone(obj2.null)
|
|
|
|
|
|
@skipUnlessDBFeature("supports_expression_defaults")
|
|
|
+ @override_settings(USE_TZ=True)
|
|
|
def test_db_default_function(self):
|
|
|
m = DBDefaultsFunction.objects.create()
|
|
|
if not connection.features.can_return_columns_from_insert:
|
|
|
m.refresh_from_db()
|
|
|
self.assertAlmostEqual(m.number, pi)
|
|
|
- self.assertEqual(m.year, datetime.now().year)
|
|
|
+ self.assertEqual(m.year, timezone.now().year)
|
|
|
self.assertAlmostEqual(m.added, pi + 4.5)
|
|
|
self.assertEqual(m.multiple_subfunctions, 4.5)
|
|
|
|
|
@@ -163,12 +171,13 @@ class DefaultTests(TestCase):
|
|
|
self.assertCountEqual(headlines, ["Default headline", "Something else"])
|
|
|
|
|
|
@skipUnlessDBFeature("supports_expression_defaults")
|
|
|
+ @override_settings(USE_TZ=True)
|
|
|
def test_bulk_create_mixed_db_defaults_function(self):
|
|
|
instances = [DBDefaultsFunction(), DBDefaultsFunction(year=2000)]
|
|
|
DBDefaultsFunction.objects.bulk_create(instances)
|
|
|
|
|
|
years = DBDefaultsFunction.objects.values_list("year", flat=True)
|
|
|
- self.assertCountEqual(years, [2000, datetime.now().year])
|
|
|
+ self.assertCountEqual(years, [2000, timezone.now().year])
|
|
|
|
|
|
def test_full_clean(self):
|
|
|
obj = DBArticle()
|