Kaydet (Commit) 37f7f233 authored tarafından Baptiste Mispelon's avatar Baptiste Mispelon

Fixed #22272 -- Fixed regression in DecimalField when using decimal_places=0.

Thanks to trac user merb for the report.
üst 666a2ad2
......@@ -1379,9 +1379,9 @@ class DecimalField(Field):
def deconstruct(self):
name, path, args, kwargs = super(DecimalField, self).deconstruct()
if self.max_digits:
if self.max_digits is not None:
kwargs['max_digits'] = self.max_digits
if self.decimal_places:
if self.decimal_places is not None:
kwargs['decimal_places'] = self.decimal_places
return name, path, args, kwargs
......
......@@ -110,6 +110,16 @@ class FieldDeconstructionTests(TestCase):
self.assertEqual(args, [])
self.assertEqual(kwargs, {"max_digits": 5, "decimal_places": 2})
def test_decimal_field_0_decimal_places(self):
"""
A DecimalField with decimal_places=0 shoudl work (#22272).
"""
field = models.DecimalField(max_digits=5, decimal_places=0)
name, path, args, kwargs = field.deconstruct()
self.assertEqual(path, "django.db.models.DecimalField")
self.assertEqual(args, [])
self.assertEqual(kwargs, {"max_digits": 5, "decimal_places": 0})
def test_email_field(self):
field = models.EmailField()
name, path, args, kwargs = field.deconstruct()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment