必须使用URL关键字参数调用RetrieveAPIView

时间:2018-05-07 05:59:11

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

所以我试图指定一个查找,我收到错误

  

使用名为" user__email"的URL关键字参数调用预期视图GetEmployersEmailUnique_RetrieveAPIView。修复您的网址,或者在视图上正确设置.lookup_field属性。

这是我的网址的样子

http://127.0.0.1:8000/api/employer/email_available/?user__email=someEmaol@gmail.com

这就是我的网址路径

url(r"^email_available/",GetEmployersEmailUnique_RetrieveAPIView.as_view()),

这就是我的观点

class GetEmployersEmailUnique_RetrieveAPIView(RetrieveAPIView):
    queryset = modelEmployer.objects.all()
    lookup_field = 'user__email'
    serializer_class = Serializer_ListEmployer
    permission_classes = (permissions.AllowAny,)

modelEmployer与用户模型具有一对一的关系

知道我在这里做错了什么吗?

1 个答案:

答案 0 :(得分:1)

您没有在网址中添加变量。使用RetrieveAPIView时需要执行此操作。您的网址应如下所示:

url(
    r"^email_available/(?P<user__email>[\w.%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4})/$",
    GetEmployersEmailUnique_RetrieveAPIView.as_view()
),