Skip to content
Snippets Groups Projects
Commit 677caf21 authored by Calum Mackervoy's avatar Calum Mackervoy Committed by Jean-Baptiste Pasquier
Browse files

update: changed build_serializer to allow for easier overriding of serializer_class

parent 6567909e
No related branches found
No related tags found
No related merge requests found
......@@ -358,7 +358,6 @@ class LDPViewSet(LDPViewSetGenerator):
parser_classes = (JSONLDParser,)
authentication_classes = (NoCSRFAuthentication,)
filter_backends = [LocalObjectOnContainerPathBackend]
write_serializer_class = None
def __init__(self, **kwargs):
super().__init__(**kwargs)
......@@ -369,10 +368,8 @@ class LDPViewSet(LDPViewSetGenerator):
if hasattr(p, 'filter_class') and p.filter_class:
self.filter_backends.append(p.filter_class)
if self.serializer_class is None:
self.serializer_class = self.build_read_serializer()
if self.write_serializer_class is None:
self.write_serializer_class = self.build_write_serializer()
self.serializer_class = self.build_read_serializer()
self.write_serializer_class = self.build_write_serializer()
def build_read_serializer(self):
model_name = self.model._meta.object_name.lower()
......@@ -402,11 +399,14 @@ class LDPViewSet(LDPViewSetGenerator):
def build_serializer(self, meta_args, name_prefix):
# create the Meta class to associate to LDPSerializer, using meta_args param
meta_class = type('Meta', (), meta_args)
from djangoldp.serializers import LDPSerializer
return type(LDPSerializer)(self.model._meta.object_name.lower() + name_prefix + 'Serializer', (LDPSerializer,),
if self.serializer_class is None:
self.serializer_class = LDPSerializer
return type(LDPSerializer)(self.model._meta.object_name.lower() + name_prefix + 'Serializer', (self.serializer_class,),
{'Meta': meta_class})
def is_safe_create(self, user, validated_data, *args, **kwargs):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment