首页 > 解决方案 > django.core.exceptions.FieldError:不支持查找 DateTimeField 的“季度”或不允许加入该字段

问题描述

我正在尝试按创建日期过滤对象并按季度对它们进行排序。

我有一个这样的样本模型

class Asset(models.Model):
    created_at = models.DateTimeField(auto_now_add=True)

然后我有另一个模型以这种方式与 Assets 模型连接,

class Portfolio(models.Model):
    assets = models.ManyToManyField(Asset)

 // i want to find all assets created by quarter and here is what I tried

    def assets_total_quarterly(self):
        q1= self.assets.filter(created_at__quarter=1)
        return q1

我收到这个错误

django.core.exceptions.FieldError: Unsupported lookup 'quarter' for DateTimeField or join on the field not permitted.

我按照这里的示例并查找了类似的问题,但没有解决我的问题 https://docs.djangoproject.com/en/2.2/ref/models/querysets/#quarter

标签: djangodjango-queryset

解决方案


您使用Django 1.11quarter仅出现在 2.0 中:

https://docs.djangoproject.com/en/2.2/releases/2.0/#models

所以Django v2.0至少如果你想使用quarter


推荐阅读