django.core.exceptions.FieldError: Неподдерживаемый поиск четверти для DateTimeField или присоединение к полю недопустимо - PullRequest
1 голос
/ 24 мая 2019

Я пытаюсь фильтровать объекты по дате создания и сортировать их ежеквартально.

У меня есть пример модели, подобной этой

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

Ответы [ 2 ]

2 голосов
/ 24 мая 2019

Вы используете Django 1.11, но quarter появился только в 2.0:

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

Поэтому используйте Django v2.0 по крайней мере, если вы хотите использовать quarter

1 голос
/ 24 мая 2019

не с quarter, а с объединением, которое вы пытаетесь сделать.

   def assets_total_quarterly(self):
        q1= self.objects.filter(assets__created_at__quarter=1)
        return q1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...