首页 > 解决方案 > django.db.utils.OperationalError; 使用日期查找过滤 QuerySet

问题描述

我正在通过一个示例,其中模型已DateTimeField定义。尝试使用date查找创建过滤的 QuerySet 时,返回以下错误。我很困惑为什么会出现这个错误。这听起来像是我写的一个函数导致了错误(事实并非如此),但也许我读错了。

django.db.utils.OperationalError: user-defined function raised exception

>>> a = Employee.objects.create(
  alias="User", age=0, hired=datetime(2020, 6, 12), experience=0
)
>>> result = Employee.objects.filter(hired__date__gt=datetime(2019, 1, 1))
from django.db import models

class Employee(models.Model):
    alias = models.CharField(unique=True, max_length=11)
    age = models.IntegerField()
    hired = models.DateTimeField()
    experience = models.IntegerField()

    def __str__(self):
        return self.alias

标签: pythondjango

解决方案


它应该是,

result = Employee.objects.filter(hired__date__gte=datetime.date(2019, 1, 1))


推荐阅读