diff options
Diffstat (limited to 'tests/invalid_models_tests')
| -rw-r--r-- | tests/invalid_models_tests/test_ordinary_fields.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/invalid_models_tests/test_ordinary_fields.py b/tests/invalid_models_tests/test_ordinary_fields.py index e30d411138..1fcf3f708d 100644 --- a/tests/invalid_models_tests/test_ordinary_fields.py +++ b/tests/invalid_models_tests/test_ordinary_fields.py @@ -1207,6 +1207,23 @@ class InvalidDBDefaultTests(TestCase): expected_error = Error(msg=msg, obj=field, id="fields.E012") self.assertEqual(errors, [expected_error]) + def test_literals_not_treated_as_expressions(self): + """ + DatabaseFeatures.supports_expression_defaults = False shouldn't + prevent non-expression literals (integer, float, boolean, etc.) from + being used as database defaults. + """ + + class Model(models.Model): + field = models.FloatField(db_default=1.0) + + field = Model._meta.get_field("field") + with unittest.mock.patch.object( + connection.features, "supports_expression_defaults", False + ): + errors = field.check(databases=self.databases) + self.assertEqual(errors, []) + @isolate_apps("invalid_models_tests") class GeneratedFieldTests(TestCase): |
