Fix non-determanistic unique constraint mapping. Refs #2092.

This commit is contained in:
Tom Christie 2014-11-19 14:51:49 +00:00
parent 8516281078
commit 40b1ea919b

View File

@ -721,6 +721,7 @@ class ModelSerializer(Serializer):
# arguments to deal with `unique_for` dates that are required to # arguments to deal with `unique_for` dates that are required to
# be in the input data in order to validate it. # be in the input data in order to validate it.
hidden_fields = {} hidden_fields = {}
unique_constraint_names = set()
for model_field_name, field_name in model_field_mapping.items(): for model_field_name, field_name in model_field_mapping.items():
try: try:
@ -729,12 +730,13 @@ class ModelSerializer(Serializer):
continue continue
# Include each of the `unique_for_*` field names. # 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_date,
model_field.unique_for_month, model_field.unique_for_month,
model_field.unique_for_year model_field.unique_for_year
]) ])
unique_constraint_names -= set([None])
unique_constraint_names -= set([None])
# Include each of the `unique_together` field names, # Include each of the `unique_together` field names,
# so long as all the field names are included on the serializer. # so long as all the field names are included on the serializer.