get() 缺少 1 个必需的位置参数:'to_date'

get() missing 1 required positional argument: 'to_date'

我正在尝试过滤在特定日期之间创建的用户,我使用的是过滤方法。但是我在传递参数时遇到了问题,我怎样才能以正确的方式传递参数,这就是我到目前为止所尝试的方法。

views.py

class RegisteredUserFilter(APIView):
    serializer = RegisteredUserFilterSerializer
    
    def get(self, from_date, to_date):
        userondate = User.objects.filter(created_at__range=[from_date, to_date]).values()
        users = []
        for user in userondate:
            users.append(user['username'])
        return Response({"User": users})

serialzers.py

class RegisteredUserFilterSerializer(serializers.Serializer):
from_date = serializers.DateField()
to_date = serializers.DateField()
model = User

完整代码在这里:https://github.com/abinashkarki/rest_framework_authentication/tree/master/authapp

在执行此操作时我得到:

TypeError: get() missing 1 required positional argument: 'to_date'

参数应该如何传递?

如果你想从 get 获取参数,你必须将它写在你的 urlpattern 中。 所以,你必须写类似

的东西
path('userRegisteredOnDate/<from_date>/<to_date>/', RegisteredUserFilter.as_view()),

就像您的 密码重置 网址格式一样。 然后你应该解析它,因为方法将采用字符串类型,而不是日期类型。