【发布时间】:2019-09-10 20:03:45
【问题描述】:
是否可以重写 Viewset 的创建以首先检查对象是否存在,如果存在,则返回该对象而不是创建它?
具体来说,在我的视图中,我已经重写了 create 函数,如下所示:
try:
item = Item.objects.get(recipe__id=self.request.data['recipe'])
except Item.DoesNotExist:
serializer.save(owner=self.request.user)
有什么想法可以将物品退回吗?目前这只是吐回输入。即使我序列化并返回该项目,这似乎也不起作用:
try:
item = Item.objects.get(
recipe__id=self.request.data['recipe'])
serializer = UserItemSerializer(item)
return Response(serializer.data, status=status.HTTP_201_CREATED)
except Item.DoesNotExist:
serializer.save(owner=self.request.user)
【问题讨论】:
-
你能分享一下viewset的完整实现吗?
标签: django django-rest-framework django-rest-viewsets