  
          serializer = view.get_serializer(instance=obj)
          fields = self.serializer_to_form_fields(serializer)
  
          OnTheFlyForm = type("OnTheFlyForm", (forms.Form,), fields)
          data = (obj is not None) and serializer.data or None
          form_instance = OnTheFlyForm(data)
          return form_instance
 
</s> remove         if obj:
            data = serializer.data
 </s> add         data = (obj is not None) and serializer.data or None </s> remove         # Creating an on the fly form see: http://stackoverflow.com/questions/3915024/dynamically-creating-classes-python
        obj, data = None, None
        if getattr(view, 'object', None):
            obj = view.object

 </s> add  </s> remove             if not view.has_permission(request):
 </s> add             if not view.has_permission(request, obj): </s> remove         if not self.show_form_for_method(view, method, request):
 </s> add         obj = getattr(view, 'object', None)
        if not self.show_form_for_method(view, method, request, obj): </s> remove     def show_form_for_method(self, view, method, request):
 </s> add     def show_form_for_method(self, view, method, request, obj):
        # Creating an on the fly form see:
        # http://stackoverflow.com/questions/3915024/dynamically-creating-classes-python
  
          serializer = view.get_serializer(instance=obj)
          fields = self.serializer_to_form_fields(serializer)
  
        # Creating an on the fly form see:
        # http://stackoverflow.com/questions/3915024/dynamically-creating-classes-python
          OnTheFlyForm = type("OnTheFlyForm", (forms.Form,), fields)
          data = (obj is not None) and serializer.data or None
          form_instance = OnTheFlyForm(data)
          return form_instance
keep keep keep add keep keep keep keep
 Object-level permissions respected by Browseable API 
rest_framework/renderers.py