Update serializer context assignment for DRF 3.11

This commit is contained in:
Jeremy Stretch 2020-03-30 12:39:15 -04:00
parent 8c7b3a1f9b
commit a914a7c438
2 changed files with 4 additions and 12 deletions

View File

@ -20,7 +20,10 @@ class CustomFieldDefaultValues:
"""
Return a dictionary of all CustomFields assigned to the parent model and their default values.
"""
def __call__(self):
requires_context = True
def __call__(self, serializer_field):
self.model = serializer_field.parent.Meta.model
# Retrieve the CustomFields for the parent model
content_type = ContentType.objects.get_for_model(self.model)
@ -49,9 +52,6 @@ class CustomFieldDefaultValues:
return value
def set_context(self, serializer_field):
self.model = serializer_field.parent.Meta.model
class CustomFieldsSerializer(serializers.BaseSerializer):

View File

@ -1,5 +1,4 @@
from rest_framework import serializers
from rest_framework.validators import UniqueTogetherValidator
from taggit_serializer.serializers import TaggitSerializer, TagListSerializerField
from dcim.api.nested_serializers import NestedDeviceSerializer
@ -43,13 +42,6 @@ class SecretSerializer(TaggitSerializer, CustomFieldModelSerializer):
data['ciphertext'] = s.ciphertext
data['hash'] = s.hash
# Validate uniqueness of name if one has been provided.
if data.get('name'):
validator = UniqueTogetherValidator(queryset=Secret.objects.all(), fields=('device', 'role', 'name'))
validator.set_context(self)
validator(data)
# Enforce model validation
super().validate(data)
return data