Commit 9a78db27 by Tom Christie

Merge pull request #3536 from jpadilla/filepathfield-mapping

Map all supported FilePathField options
parents c53c9edd d64bfef5
...@@ -106,6 +106,21 @@ def get_field_kwargs(field_name, model_field): ...@@ -106,6 +106,21 @@ def get_field_kwargs(field_name, model_field):
isinstance(model_field, models.TextField)): isinstance(model_field, models.TextField)):
kwargs['allow_blank'] = True kwargs['allow_blank'] = True
if isinstance(model_field, models.FilePathField):
kwargs['path'] = model_field.path
if model_field.match is not None:
kwargs['match'] = model_field.match
if model_field.recursive is not False:
kwargs['recursive'] = model_field.recursive
if model_field.allow_files is not True:
kwargs['allow_files'] = model_field.allow_files
if model_field.allow_folders is not False:
kwargs['allow_folders'] = model_field.allow_folders
if model_field.choices: if model_field.choices:
# If this model field contains choices, then return early. # If this model field contains choices, then return early.
# Further keyword arguments are not valid. # Further keyword arguments are not valid.
......
...@@ -67,6 +67,7 @@ class RegularFieldsModel(models.Model): ...@@ -67,6 +67,7 @@ class RegularFieldsModel(models.Model):
time_field = models.TimeField() time_field = models.TimeField()
url_field = models.URLField(max_length=100) url_field = models.URLField(max_length=100)
custom_field = CustomField() custom_field = CustomField()
file_path_field = models.FilePathField(path='/tmp/')
def method(self): def method(self):
return 'method' return 'method'
...@@ -165,6 +166,7 @@ class TestRegularFieldMappings(TestCase): ...@@ -165,6 +166,7 @@ class TestRegularFieldMappings(TestCase):
time_field = TimeField() time_field = TimeField()
url_field = URLField(max_length=100) url_field = URLField(max_length=100)
custom_field = ModelField(model_field=<tests.test_model_serializer.CustomField: custom_field>) custom_field = ModelField(model_field=<tests.test_model_serializer.CustomField: custom_field>)
file_path_field = FilePathField(path='/tmp/')
""") """)
self.assertEqual(unicode_repr(TestSerializer()), expected) self.assertEqual(unicode_repr(TestSerializer()), expected)
......
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