mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-05 04:50:12 +03:00
Update mixins.py
Availability to pass force_insert keyword arg to UpdateModelMixin.update()
This commit is contained in:
parent
650a91ac24
commit
bb8402acf3
|
@ -114,6 +114,7 @@ class UpdateModelMixin(object):
|
||||||
"""
|
"""
|
||||||
def update(self, request, *args, **kwargs):
|
def update(self, request, *args, **kwargs):
|
||||||
partial = kwargs.pop('partial', False)
|
partial = kwargs.pop('partial', False)
|
||||||
|
force_insert = kwargs.pop('force_insert', False)
|
||||||
self.object = self.get_object_or_none()
|
self.object = self.get_object_or_none()
|
||||||
|
|
||||||
serializer = self.get_serializer(self.object, data=request.DATA,
|
serializer = self.get_serializer(self.object, data=request.DATA,
|
||||||
|
@ -130,7 +131,7 @@ class UpdateModelMixin(object):
|
||||||
return Response(err.message_dict, status=status.HTTP_400_BAD_REQUEST)
|
return Response(err.message_dict, status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
|
||||||
if self.object is None:
|
if self.object is None:
|
||||||
self.object = serializer.save(force_insert=True)
|
self.object = serializer.save(force_insert=force_insert)
|
||||||
self.post_save(self.object, created=True)
|
self.post_save(self.object, created=True)
|
||||||
return Response(serializer.data, status=status.HTTP_201_CREATED)
|
return Response(serializer.data, status=status.HTTP_201_CREATED)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user