是否可以覆盖 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)