首页 > 解决方案 > django 和两个日期之间的提问

问题描述

我用 django 编写了一个应用程序。但我想在两个日期之间提问。我写了如下代码,但结果是空的

我想列出我给出的两个日期之间的记录。字段应采用 dateTimeField 形式

图 1 图 2

API: http: //127.0.0.1 :8000/api/appointments/list?user=2&groupCode=1453&startDate=2020-04-17+10:00:00&endDate=2020-12-12+08:00:00

模型:

`

 user = models.ForeignKey(User, on_delete=models.CASCADE, default=0, blank=False)
 startDate = models.DateTimeField(blank=True)
 endDate = models.DateTimeField(blank=True)
 groupCode = models.CharField(max_length=50, blank=False)

`

 class AppointmentsListAPIView(ListAPIView):
     serializer_class = AppointmentsCreateSerializer
     filter_backends = [django_filters.rest_framework.DjangoFilterBackend]
     filter_fields = ['customer', 'user', 'groupCode', 'startDate', 'endDate']

     def get_queryset(self):
         print(self.request.query_params.get('startDate'))

         queryset = Appointments.objects.filter(user=self.request.user,
                                           groupCode=self.request.query_params.get('groupCode'),
                                           startDate__gt=self.request.query_params.get('startDate'),
                                           endDate__lt=self.request.query_params.get('endDate'))
    return queryset

`

错误

RuntimeWarning:DateTimeField Appointments.endDate 在时区支持处于活动状态时收到了一个简单的日期时间(2020-12-12 08:00:00)。运行时警告)

RuntimeWarning:DateTimeField Appointments.startDate 在时区支持处于活动状态时收到了一个简单的日期时间(2020-04-17 10:00:00)。运行时警告)

标签: pythondjangopython-3.xdjango-rest-frameworkdjango-views

解决方案


用户需要来自而self.request.user不是来自query_params


推荐阅读