【发布时间】:2017-10-29 18:06:53
【问题描述】:
AssertionError:预期视图 blabla 将使用名为“pk”的 URL 关键字参数调用。修正您的 URL 配置,或正确设置视图上的 .lookup_field 属性。
#如果要使用pk以外的对象查找,设置'lookup_field'
好吧,我不想使用 URL 来设置 pk,我想使用 query_params 中的 pk,例如:
request.query_params.get('id', None)
那么如何设置 lookup_field 呢?
已解决 在更新方法上,我们可以覆盖 pk 值
class blabla(generics.CreateAPIView,
generics.ListAPIView,
generics.RetrieveAPIView,
generics.UpdateAPIView):
def update(self, request, pk = None):
log.debug("update pk= %s , data = %s" % (pk, str(request.data)))
pk = request.data.get('id')
self.kwargs['pk'] = request.data.get('id')
return super().update(request, pk)
【问题讨论】:
标签: django django-rest-framework