模型类型为 pgfields 的 Django queryset.filter 问题。ArrayField(models.日期字段())

Django queryset.filter issue with model type pgfields.ArrayField(models.DateField())

提问人:BrokenWings 提问时间:11/15/2023 更新时间:11/15/2023 访问量:22

问:

我正在尝试按日期范围过滤查询集,在模型上它是 pgfields。ArrayField(models.DateField()),它以 text[] (ide) 的形式存储在实际表中。这是失败的特定代码段

triage_dates = [r.strftime('%Y-%m-%d') for r in list(rrule.rrule(
                rrule.DAILY,
                dtstart=parser.parse(range_start),
                until=parser.parse(range_end)
            ))]
            queryset = queryset.filter(triage_dates__overlap=triage_dates)

当我打印分类日期列表中每个项目的类型时,它是str,我在查询django.db.utils.ProgrammingError时收到此错误:运算符不存在:text[] & & date[]。提示:没有运算符与给定的名称和参数类型匹配。您可能需要添加显式类型转换。

我什至尝试将每个项目转换为日期。我一直在不同的人工智能平台上寻找答案。我想我可能必须将其转换为plainsql设置,但如果可能的话,我更愿意使用ORM。我想知道这是否是 postgres 版本 + django 或其他东西之间的一些奇怪的错误。欢迎任何见解,谢谢!

python django django-queryset

评论


答: 暂无答案