aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/utils/field_mapping.py
diff options
context:
space:
mode:
authorTom Christie2014-09-29 09:24:03 +0100
committerTom Christie2014-09-29 09:24:03 +0100
commit43fd5a873051c99600386c1fdc9fa368edeb6eda (patch)
tree6242d6480b7780c8a9ab2e5c46f1a8b9d0e25676 /rest_framework/utils/field_mapping.py
parentce04d59a53df45715c4805831406b2105c9594a8 (diff)
downloaddjango-rest-framework-43fd5a873051c99600386c1fdc9fa368edeb6eda.tar.bz2
Uniqueness validation
Diffstat (limited to 'rest_framework/utils/field_mapping.py')
-rw-r--r--rest_framework/utils/field_mapping.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/rest_framework/utils/field_mapping.py b/rest_framework/utils/field_mapping.py
index c3794083..cf9d910a 100644
--- a/rest_framework/utils/field_mapping.py
+++ b/rest_framework/utils/field_mapping.py
@@ -6,6 +6,7 @@ from django.core import validators
from django.db import models
from django.utils.text import capfirst
from rest_framework.compat import clean_manytomany_helptext
+from rest_framework.validators import UniqueValidator
import inspect
@@ -156,6 +157,10 @@ def get_field_kwargs(field_name, model_field):
if validator is not validators.validate_slug
]
+ if getattr(model_field, 'unique', False):
+ validator = UniqueValidator(queryset=model_field.model._default_manager)
+ validator_kwarg.append(validator)
+
max_digits = getattr(model_field, 'max_digits', None)
if max_digits is not None:
kwargs['max_digits'] = max_digits