我尝试使用rest框架根据用户的电子邮件地址检索用户ModelViewSet
。当请求中只存在字母数字字符时,一切正常,但是当包含@
、.
和{
我试过各种要求,包括:
GET /users/example%40example.com
GET /users/example@example.com
响应返回:
^{pr2}$与请求中的电子邮件地址完全匹配。在
以下是我目前的看法:
class UserViewSet(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer
lookup_field = 'email'
又是我,我昨天说的是对的,不是
@
符号,而是引起404错误的.
符号。将代码更改为:默认的lookup_value_regex是
^{pr2}$[^/.]+
,here是文档。 在源代码中可以看到rest_framework/routers.py/SimpleRouter/get_lookup_regex
:相关问题 更多 >
编程相关推荐