You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django filters中DateFilter能否自定义为mm-dd-yyyy日期格式

django_filters DateFilter自定义日期格式说明

django_filters完全支持自定义DateFilter的日期解析格式,可以正常适配mm-dd-yyyy的输入需求,两种常用实现方式如下:

  • 全局统一配置(所有DateFilter生效)
    在Django项目的settings.py文件中添加配置项即可,配置后所有默认的DateFilter都会自动使用指定格式解析输入的日期:
    # settings.py
    FILTERS_DATE_FORMAT = '%m-%d-%Y'
    
  • 单个过滤器独立配置(仅指定字段生效)
    如果不需要全局修改,仅要给某一个日期字段适配mm-dd-yyyy格式,可在定义FilterSet时单独指定input_formats参数:
    import django_filters
    from .models import YourModel
    
    class CustomFilter(django_filters.FilterSet):
        # 单独为create_time字段的日期过滤器设置输入格式
        create_time = django_filters.DateFilter(
            lookup_expr="exact",
            input_formats=['%m-%d-%Y']
        )
        
        class Meta:
            model = YourModel
            fields = ['create_time']
    

补充说明:input_formats参数为列表类型,可传入多个格式值实现多格式兼容,比如input_formats=['%m-%d-%Y', '%Y-%m-%d']可同时支持两种常见日期格式,过滤器会按列表顺序依次尝试解析输入值。单个过滤器的input_formats配置优先级高于全局配置,二者同时存在时以单个配置为准。

内容的提问来源于stack exchange,提问作者Pritam Kadam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 16:57:03