From a914a7c4382349bceca43becc9895c6cccade313 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 30 Mar 2020 12:39:15 -0400 Subject: [PATCH] Update serializer context assignment for DRF 3.11 --- netbox/extras/api/customfields.py | 8 ++++---- netbox/secrets/api/serializers.py | 8 -------- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/netbox/extras/api/customfields.py b/netbox/extras/api/customfields.py index 5bb1f033d..34e865530 100644 --- a/netbox/extras/api/customfields.py +++ b/netbox/extras/api/customfields.py @@ -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): diff --git a/netbox/secrets/api/serializers.py b/netbox/secrets/api/serializers.py index e278f3c40..0b73f0002 100644 --- a/netbox/secrets/api/serializers.py +++ b/netbox/secrets/api/serializers.py @@ -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