diff --git a/rest_framework_xml/parsers.py b/rest_framework_xml/parsers.py
index 5454356..48b54a5 100644
--- a/rest_framework_xml/parsers.py
+++ b/rest_framework_xml/parsers.py
@@ -72,6 +72,9 @@ def _type_convert(self, value):
except ValueError:
pass
+ if value.startswith('0'):
+ return value
+
try:
return int(value)
except ValueError:
diff --git a/tests/test_parsers.py b/tests/test_parsers.py
index 38618a8..5100cc7 100644
--- a/tests/test_parsers.py
+++ b/tests/test_parsers.py
@@ -2,7 +2,7 @@
from __future__ import unicode_literals
import datetime
-
+from decimal import Decimal
from django.test import TestCase
from django.test.utils import skipUnless
from django.utils.six.moves import StringIO
@@ -19,13 +19,17 @@ def setUp(self):
'dasd'
''
'2011-12-25 12:45:00'
+ '121.1'
+ '0001'
''
)
self._data = {
'field_a': 121,
'field_b': 'dasd',
'field_c': None,
- 'field_d': datetime.datetime(2011, 12, 25, 12, 45, 00)
+ 'field_d': datetime.datetime(2011, 12, 25, 12, 45, 00),
+ 'field_e': Decimal('121.1'),
+ 'field_f': '0001',
}
self._complex_data_input = StringIO(
''
diff --git a/tests/test_renderers.py b/tests/test_renderers.py
index 4168868..3111b7d 100644
--- a/tests/test_renderers.py
+++ b/tests/test_renderers.py
@@ -38,8 +38,9 @@ def test_render_string(self):
Test XML rendering.
"""
renderer = XMLRenderer()
- content = renderer.render({'field': 'astring'}, 'application/xml')
+ content = renderer.render({'field': 'astring', 'field_b': '0001'}, 'application/xml')
self.assertXMLContains(content, 'astring')
+ self.assertXMLContains(content, '0001')
def test_render_integer(self):
"""