diff options
| author | Tom Christie | 2014-11-19 14:51:49 +0000 |
|---|---|---|
| committer | Tom Christie | 2014-11-19 14:51:49 +0000 |
| commit | 40b1ea919b00bd8bf1f53f8eb8bf33a498b237b8 (patch) | |
| tree | a859400bf0ba06f0ce7bcedb4f558034555d3977 /rest_framework | |
| parent | 851628107842a5bf84725247a42cae1ac90decf6 (diff) | |
| download | django-rest-framework-40b1ea919b00bd8bf1f53f8eb8bf33a498b237b8.tar.bz2 | |
Fix non-determanistic unique constraint mapping. Refs #2092.
Diffstat (limited to 'rest_framework')
| -rw-r--r-- | rest_framework/serializers.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 3189619e..ce0d14d6 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -721,6 +721,7 @@ class ModelSerializer(Serializer): # arguments to deal with `unique_for` dates that are required to # be in the input data in order to validate it. hidden_fields = {} + unique_constraint_names = set() for model_field_name, field_name in model_field_mapping.items(): try: @@ -729,12 +730,13 @@ class ModelSerializer(Serializer): continue # Include each of the `unique_for_*` field names. - unique_constraint_names = set([ + unique_constraint_names |= set([ model_field.unique_for_date, model_field.unique_for_month, model_field.unique_for_year ]) - unique_constraint_names -= set([None]) + + unique_constraint_names -= set([None]) # Include each of the `unique_together` field names, # so long as all the field names are included on the serializer. |
