我可以在没有'look_up'字段的情况下使用'RetrieveUpdateAPIView'吗?

时间:2017-09-08 15:20:27

标签: django http django-rest-framework django-views

RetrieveUpdateAPIView的url适用于特定字段。 (例如class ProfileRetrieveAndUpdateProfile(generics.RetrieveUpdateAPIView): serializer_class = ProfileRetrieveAndUpdateSerializer # lookup_field = 'pk' def get_queryset(self): qs = Profile.objects.all() logged_in_user_profile = qs.filter(user=self.request.user) return logged_in_user_profile

我从HTTP标头中的令牌获取用户帐户,因此很难将用户的pk包含在URL中。

此视图是我的RetrieveUpdateAPIView。

function pageLoad() {
    $(".RepeaterClass").click(function () {
        var div = $(this);
        var firstHiddenFieldValue = div.find('[id*=hdnStationRedID]').val();
        //alert(firstHiddenFieldValue);
        var secondHiddenField = div.find('[id*=hdnStationRedEXID]');
        secondHiddenField.val(firstHiddenFieldValue);
        //alert(secondHiddenField.val());
    });
}

我应该只使用views.APIView来获取此功能吗?

1 个答案:

答案 0 :(得分:6)

我通过覆盖get_object解决了这个问题。

def get_object(self):
  queryset = self.get_queryset()
  obj = get_object_or_404(queryset, user=self.request.user)
  return obj

干杯