首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置lookup_field?

问如何设置lookup_field?
EN

Stack Overflow用户
提问于 2017-05-29 12:20:07
回答 1查看 1.9K关注 0票数 2

AssertionError:使用名为"pk“的URL关键字参数调用视图blabla。修复您的URL,或者正确地设置视图上的.lookup_field属性。

如果要使用pk以外的对象查找,请设置“lookup_field”

我不希望使用URL来设置pk,我希望使用来自query_params的pk,例如:

代码语言:javascript
复制
request.query_params.get('id', None)

那么如何设置lookup_field呢?

解决了我们可以重写pk值的更新方法

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

发布于 2017-05-29 12:35:42

您的代码无法工作,因为您在类级别上引用了request对象,而且它并不存在:它是在实例级别上创建的。但你根本不需要它,只需做:lookup_field = 'id'

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44242354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档