Skip to content

Commit 1ce0853

Browse files
mahdirahimi1999Mahdiauvipy
authored
Refactor get_field_info method to include max_digits and decimal_places attributes in SimpleMetadata class (#8943)
* Refactor get_field_info method to include max_digits and decimal_places attributes in SimpleMetadata class * Add new test to check decimal_field_info_type * Update rest_framework/metadata.py --------- Co-authored-by: Mahdi <[email protected]> Co-authored-by: Asif Saif Uddin <[email protected]>
1 parent 38a74b4 commit 1ce0853

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

rest_framework/metadata.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,8 @@ def get_field_info(self, field):
124124
attrs = [
125125
'read_only', 'label', 'help_text',
126126
'min_length', 'max_length',
127-
'min_value', 'max_value'
127+
'min_value', 'max_value',
128+
'max_digits', 'decimal_places'
128129
]
129130

130131
for attr in attrs:

tests/test_metadata.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,13 @@ def test_related_field_choices(self):
324324
)
325325
assert 'choices' not in field_info
326326

327+
def test_decimal_field_info_type(self):
328+
options = metadata.SimpleMetadata()
329+
field_info = options.get_field_info(serializers.DecimalField(max_digits=18, decimal_places=4))
330+
assert field_info['type'] == 'decimal'
331+
assert field_info['max_digits'] == 18
332+
assert field_info['decimal_places'] == 4
333+
327334

328335
class TestModelSerializerMetadata(TestCase):
329336
def test_read_only_primary_key_related_field(self):

0 commit comments

Comments
 (0)