diff options
| author | José Padilla | 2014-12-09 09:25:06 -0400 |
|---|---|---|
| committer | José Padilla | 2014-12-09 09:25:06 -0400 |
| commit | afe7ed9333e37384f8ddc57e891da9632c8714c3 (patch) | |
| tree | c45f1a1242b9c12f4e1e3aaaab2ff6eb90473ed9 /rest_framework/utils/field_mapping.py | |
| parent | 0f080bc2932095bc6dd2c71f545f2b588985431d (diff) | |
| download | django-rest-framework-afe7ed9333e37384f8ddc57e891da9632c8714c3.tar.bz2 | |
Add allow_blank for ChoiceField #2184
This makes a ChoiceField optional in HTML if
model field has `blank=True` set.
Diffstat (limited to 'rest_framework/utils/field_mapping.py')
| -rw-r--r-- | rest_framework/utils/field_mapping.py | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/rest_framework/utils/field_mapping.py b/rest_framework/utils/field_mapping.py index 9c187176..86ceff31 100644 --- a/rest_framework/utils/field_mapping.py +++ b/rest_framework/utils/field_mapping.py @@ -91,18 +91,18 @@ def get_field_kwargs(field_name, model_field): if model_field.has_default() or model_field.blank or model_field.null: kwargs['required'] = False - if model_field.flatchoices: - # If this model field contains choices, then return early. - # Further keyword arguments are not valid. - kwargs['choices'] = model_field.flatchoices - return kwargs - if model_field.null and not isinstance(model_field, models.NullBooleanField): kwargs['allow_null'] = True if model_field.blank: kwargs['allow_blank'] = True + if model_field.flatchoices: + # If this model field contains choices, then return early. + # Further keyword arguments are not valid. + kwargs['choices'] = model_field.flatchoices + return kwargs + # Ensure that max_length is passed explicitly as a keyword arg, # rather than as a validator. max_length = getattr(model_field, 'max_length', None) |
