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()),
就像您的 密码重置 网址格式一样。
然后你应该解析它,因为方法将采用字符串类型,而不是日期类型。
我正在尝试过滤在特定日期之间创建的用户,我使用的是过滤方法。但是我在传递参数时遇到了问题,我怎样才能以正确的方式传递参数,这就是我到目前为止所尝试的方法。
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()),
就像您的 密码重置 网址格式一样。 然后你应该解析它,因为方法将采用字符串类型,而不是日期类型。