Features: 1) Add context to serializers in create method of AddressViewSet.
Fixes: 1) Correct serialization flow by separating create and output serializers. Extra: 1) Minor variable renaming for clarity; 2) Improved readability of the `create` method.
This commit is contained in:
parent
194e2bef78
commit
18782a8bc0
1 changed files with 12 additions and 4 deletions
|
|
@ -552,14 +552,22 @@ class AddressViewSet(EvibesViewSet):
|
|||
return AddressSerializer
|
||||
|
||||
def create(self, request, **kwargs):
|
||||
serializer = AddressCreateSerializer(data=request.data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
create_serializer = AddressCreateSerializer(
|
||||
data=request.data,
|
||||
context={"request": request}
|
||||
)
|
||||
create_serializer.is_valid(raise_exception=True)
|
||||
|
||||
serializer = AddressSerializer(serializer.create(serializer.validated_data))
|
||||
address_obj = create_serializer.create(create_serializer.validated_data)
|
||||
|
||||
output_serializer = AddressSerializer(
|
||||
address_obj,
|
||||
context={"request": request}
|
||||
)
|
||||
|
||||
return Response(
|
||||
status=status.HTTP_201_CREATED,
|
||||
data=serializer.data,
|
||||
data=output_serializer.data,
|
||||
)
|
||||
|
||||
@action(detail=False, methods=["get"], url_path="autocomplete")
|
||||
|
|
|
|||
Loading…
Reference in a new issue