Django: пользовательское действие с параметром даты не работает
У меня есть следующий код в Python Django:
@action(detail=True, methods=['get'], url_path=r'by_date')
def get_meal_by_date(self, request, meal_date=date.today):
print(meal_date)
meals_by_date = Meal.objects.filter(
owner=self.request.user,
mealTimestamp__day=meal_date.day,
mealTimestamp__month=meal_date.month,
mealTimestamp__year=meal_date.year
)
serializer = self.get_serializer(meals_by_date, many=True)
return Response(serializer.data, status=status.HTTP_200_OK)
Такой код работает при вызове следующим образом:
http://localhost:8000/meals/by_date/
Моя проблема в том, как я могу обогатить метод, чтобы получить данные обратно с параметром даты.
Например, с помощью этого вызова:
http://localhost:8000/meals/by_date/2022-03-16T21:30:45.290Z/
В чем именно заключается ваша проблема, передаете ли вы дату в url? Это должно работать. path('adress/date:date/', что-то вроде этого. В вашем представлении получите дату.