django Rest Framework 按日期范围过滤

标签 django django-models django-rest-framework django-views

我有 View 类

class eventList(ListAPIView):

       queryset = Event.objects.all().filter(is_active=1, is_approved=1)
       serializer_class = eventSerialiser
       filter_backends = [DjangoFilterBackend, filters.SearchFilter, filters.OrderingFilter]
       search_fields = ['event_name', 'event_address', 'start_date', 'start_time', 'end_time', 
                         'age_max', 'age_min','event_organizer__name', 'event_type__name', 
                         'event_city__name', 'event_tag__name']
       filterset_fields = ['event_name', 'start_date', 'start_time', 'end_date', 'end_time', 
                           'age_max', 'age_min', 'event_organizer', 'event_type', 'event_city', 
                           'event_tag']
       ordering_fields = '__all__'
       ordering = ['-id']

所有过滤器都工作正常,但我如何根据日期范围获取数据 start_dateend_date

最佳答案

终于得到了这个解决方案很长时间

  • 双下划线 gte 大于等于
  • 双下划线 gt 大于
  • 双下划线 lte 小于等于
  • 双下划线 lt 小于
    filterset_fields = {
        'start_date':['gte', 'lte', 'exact', 'gt', 'lt'],
        'id':['exact'],
        'event_name':['exact'],
        'start_time':['exact'],
        'end_date':['exact'],
        'end_time':['exact'],
        'age_max':['gte', 'lte', 'exact', 'gt', 'lt'],
        'age_min':['gte', 'lte', 'exact', 'gt', 'lt'],
        'event_organizer__name':['exact'],
        'event_type__name':['exact'],
        'event_city__name':['exact'],'event_tag__name':['exact']
    }
    
  • 关于django Rest Framework 按日期范围过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58837940/

    相关文章:

    python - Django:从批处理/cron 脚本记录

    python - 如何在 Django 中保存一些数据而不将其添加到表单中?

    django - 在 Django QuerySet 中,如何检查 ManyToMany 字段中的特定对象?

    django - “RelatedManager”对象在 DRF 序列化器中没有属性 'pk'

    python - 我想每天上午 11 点发送电子邮件

    python - 无法从 django rest-framework 中的其他序列化程序导入序列化程序?

    Django POST 方法单元测试失败,出现 Assertionerror 401

    Django Rest Framework 忽略我的 IsOwnerOrReadOnly 权限

    python - 如何在 django 中使用 ffmpeg 压缩 base64 解码的视频数据

    python - 具有多个属性的 Django 查询