diff options
| author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2025-11-17 13:43:47 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-17 13:43:47 +0100 |
| commit | 1ce6e78dd4beed702f15fa0be798dd17a15d4ba8 (patch) | |
| tree | 0078da5312fb69897bb6327040d51c3450d2fa3b /tests/inspectdb | |
| parent | 5c60763561c67924eff1069e1516b60a59d068d5 (diff) | |
Fixed #24920 -- Added support for DecimalField with no precision.
Thanks Lily for the review.
Diffstat (limited to 'tests/inspectdb')
| -rw-r--r-- | tests/inspectdb/models.py | 9 | ||||
| -rw-r--r-- | tests/inspectdb/tests.py | 16 |
2 files changed, 18 insertions, 7 deletions
diff --git a/tests/inspectdb/models.py b/tests/inspectdb/models.py index 3d6388a7be..fbe1df8a95 100644 --- a/tests/inspectdb/models.py +++ b/tests/inspectdb/models.py @@ -121,6 +121,15 @@ class CharFieldUnlimited(models.Model): required_db_features = {"supports_unlimited_charfield"} +class DecimalFieldNoPrec(models.Model): + decimal_field_no_precision = models.DecimalField( + max_digits=None, decimal_places=None + ) + + class Meta: + required_db_features = {"supports_no_precision_decimalfield"} + + class UniqueTogether(models.Model): field1 = models.IntegerField() field2 = models.CharField(max_length=10) diff --git a/tests/inspectdb/tests.py b/tests/inspectdb/tests.py index 9104671b4f..c16258b0eb 100644 --- a/tests/inspectdb/tests.py +++ b/tests/inspectdb/tests.py @@ -202,6 +202,13 @@ class InspectDBTestCase(TestCase): output = out.getvalue() self.assertIn("char_field = models.CharField()", output) + @skipUnlessDBFeature("supports_no_precision_decimalfield") + def test_decimal_field_no_precision(self): + out = StringIO() + call_command("inspectdb", "inspectdb_decimalfieldnoprec", stdout=out) + output = out.getvalue() + self.assertIn("decimal_field_no_precision = models.DecimalField()", output) + def test_number_field_types(self): """Test introspection of various Django field types""" assertFieldType = self.make_field_type_asserter() @@ -228,13 +235,8 @@ class InspectDBTestCase(TestCase): assertFieldType( "decimal_field", "models.DecimalField(max_digits=6, decimal_places=1)" ) - else: # Guessed arguments on SQLite, see #5014 - assertFieldType( - "decimal_field", - "models.DecimalField(max_digits=10, decimal_places=5) " - "# max_digits and decimal_places have been guessed, " - "as this database handles decimal fields as float", - ) + else: + assertFieldType("decimal_field", "models.DecimalField()") assertFieldType("float_field", "models.FloatField()") assertFieldType( |
