在更新表单中传递当前值(实例)

时间:2016-09-04 12:59:25

标签: python django python-3.x django-rest-framework

我有一个用于更新对象的api。但更新表单显示空字段。如何显示填写当前值的表单?如果我想显示只填充django的当前值,我会做formname(instance = object)。使用RetrieveAPIView时,如何在DRF中执行类似操作。

class RestaurantUpdateAPI(RetrieveAPIView):
    queryset = Restaurant.objects.all()
    serializer_class = RestaurantCreateUpdateSerializer

    def perform_update(self, serializer):
        print('serializer',serializer)
        instance = serializer.save()
        # send_email_confirmation(user=self.request.user, modified=instance)

这段代码给了我空的表格。我想名字字段应该有餐馆名称,城市应该有城市名称等等。

如何在DRF RetrieveAPIView中完成?

enter image description here

1 个答案:

答案 0 :(得分:0)

你的api url是../ edit / ...,所以我想你想用这个api编辑你的餐馆。(顺便说一句,REST API不应该使用"编辑"在其中,你只是使用http方法来处理这个)。在你的情况下,如果你想同时使用get方法和post方法。你应该使用RetrieveUpdateDestroyAPIView

  

用于读写删除端点以表示单个模型实例。

     

提供get,put,patch和delete方法处理程序。

     

扩展:GenericAPIView,RetrieveModelMixin,UpdateModelMixin,DestroyModelMixin