diff options
| author | Tim Graham <timograham@gmail.com> | 2024-10-08 20:25:48 -0400 |
|---|---|---|
| committer | Sarah Boyce <42296566+sarahboyce@users.noreply.github.com> | 2024-11-11 16:05:05 +0100 |
| commit | c4614b53d355561d426b0fed903e96c3c198e10d (patch) | |
| tree | ec3c00054bed1d4ce977e713213d9ae9b19301ea /tests/invalid_models_tests | |
| parent | 63dbe30d3363715deaf280214d75b03f6d65a571 (diff) | |
Fixed #35815 -- Made system check accept db_default literals when DatabaseFeatures.supports_expression_defaults = False.
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): |
