diff options
| author | Tom Christie | 2014-10-22 16:29:09 +0100 | 
|---|---|---|
| committer | Tom Christie | 2014-10-22 16:29:09 +0100 | 
| commit | f9c0e6ee1b045f69920cf9c3aceda4e44f110bfb (patch) | |
| tree | c5725fe13e9fa538a5df3e7f031f0fcc729c2f3d | |
| parent | ae53fdff9c6bb3e81a1ec005134462f0d629688f (diff) | |
| download | django-rest-framework-f9c0e6ee1b045f69920cf9c3aceda4e44f110bfb.tar.bz2 | |
unique_for_month, unique_for_year
| -rw-r--r-- | rest_framework/serializers.py | 19 | 
1 files changed, 18 insertions, 1 deletions
| diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 5770fcf6..b45f343a 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -24,7 +24,8 @@ from rest_framework.utils.field_mapping import (      ClassLookupDict  )  from rest_framework.validators import ( -    UniqueForDateValidator, UniqueTogetherValidator +    UniqueForDateValidator, UniqueForMonthValidator, UniqueForYearValidator, +    UniqueTogetherValidator  )  import copy  import inspect @@ -601,6 +602,22 @@ class ModelSerializer(Serializer):                  )                  validators.append(validator) +            if field.unique_for_month and field_name in field_names: +                validator = UniqueForMonthValidator( +                    queryset=model_class._default_manager, +                    field=field_name, +                    date_field=field.unique_for_month +                ) +                validators.append(validator) + +            if field.unique_for_year and field_name in field_names: +                validator = UniqueForYearValidator( +                    queryset=model_class._default_manager, +                    field=field_name, +                    date_field=field.unique_for_year +                ) +                validators.append(validator) +          return validators      def _get_base_fields(self): | 
