Get() отсутствует 1 необходимый позиционный аргумент: 'to_date'

Я пытаюсь отфильтровать пользователей, которые были созданы между определенными датами, я использую метод filter. Но у меня проблема с передачей аргументов, как я могу передать аргумент правильным образом, вот что я пробовал до сих пор.

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'

Как должен быть передан аргумент?

Если вы хотите принимать args из get, вы должны написать это в вашем urlpattern. Таким образом, вы должны написать что-то вроде

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

как в вашем password-reset urlpattern. И затем вы должны разобрать его, потому что метод будет принимать строковый тип, а не тип даты.

Вернуться на верх