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. И затем вы должны разобрать его, потому что метод будет принимать строковый тип, а не тип даты.