diff options
| author | Stephan Groß | 2013-05-18 17:16:29 +0200 |
|---|---|---|
| committer | Stephan Groß | 2013-05-18 17:16:29 +0200 |
| commit | 025c40e7d5efbba0c3e65ab3737adef988995a24 (patch) | |
| tree | bfbb76bfb3cc15e0230865fa5c42093498108035 | |
| parent | 0c81d04170da19e5bfb332641d92d9c3346598f8 (diff) | |
| download | django-rest-framework-025c40e7d5efbba0c3e65ab3737adef988995a24.tar.bz2 | |
Fix order for applying min_value to fields
| -rw-r--r-- | rest_framework/serializers.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index d0313513..943fba6b 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -739,15 +739,16 @@ class ModelSerializer(Serializer): if issubclass(model_field.__class__, models.TextField): kwargs['widget'] = widgets.Textarea - if issubclass(model_field.__class__, models.PositiveIntegerField) or\ - issubclass(model_field.__class__, models.PositiveSmallIntegerField): - kwargs['min_value'] = 0 - # TODO: TypedChoiceField? if model_field.flatchoices: # This ModelField contains choices kwargs['choices'] = model_field.flatchoices return ChoiceField(**kwargs) + # put this below the ChoiceField because min_value isn't a valid initializer + if issubclass(model_field.__class__, models.PositiveIntegerField) or\ + issubclass(model_field.__class__, models.PositiveSmallIntegerField): + kwargs['min_value'] = 0 + attribute_dict = { models.CharField: ['max_length'], models.CommaSeparatedIntegerField: ['max_length'], |
