我正在尝试按创建日期过滤对象,并按季度对它们进行排序。
我有一个这样的样本模型
class Asset(models.Model):
created_at = models.DateTimeField(auto_now_add=True)然后我有另一个模型,它以这种方式与资产模型连接,
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
发布于 2019-05-24 18:14:59
您使用的是Django 1.11,但quarter仅在2.0中出现:
https://docs.djangoproject.com/en/2.2/releases/2.0/#models
因此,如果您想使用quarter,至少要使用Django v2.0
发布于 2019-05-24 17:52:32
不是使用quarter,而是使用join。
def assets_total_quarterly(self):
q1= self.objects.filter(assets__created_at__quarter=1)
return q1https://stackoverflow.com/questions/56289875
复制相似问题