Skip to content
Snippets Groups Projects
Commit fa861a74 authored by Jean-Baptiste Pasquier's avatar Jean-Baptiste Pasquier
Browse files

Merge branch '276-serializer-class' into 'master'

update: changed build_serializer to allow for easier overriding of serializer_class

Closes #276

See merge request !159
parents 6567909e 677caf21
No related branches found
Tags v1.0.3
1 merge request!159update: changed build_serializer to allow for easier overriding of serializer_class
Pipeline #7575 passed with stage
in 34 seconds
......@@ -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