aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/serializers.py
diff options
context:
space:
mode:
authorStephan Groß2013-05-18 17:16:29 +0200
committerStephan Groß2013-05-18 17:16:29 +0200
commit025c40e7d5efbba0c3e65ab3737adef988995a24 (patch)
treebfbb76bfb3cc15e0230865fa5c42093498108035 /rest_framework/serializers.py
parent0c81d04170da19e5bfb332641d92d9c3346598f8 (diff)
downloaddjango-rest-framework-025c40e7d5efbba0c3e65ab3737adef988995a24.tar.bz2
Fix order for applying min_value to fields
Diffstat (limited to 'rest_framework/serializers.py')
-rw-r--r--rest_framework/serializers.py9
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'],