Фильтр с использованием поля @property django

Я хочу фильтровать на основе поля @property для создания набора запросов. Моя модель выглядит следующим образом.

`class PrHW(models.Model):
    po_duration = models.IntegerField(null=True)
    provision_start_date = models.DateField(null=True, blank=True)
    description = models.TextField(blank=True, null=True)

    @property
    def provision_end_date(self):
        provision_end_date = self.provision_start_date + relativedelta(months=self.po_duration)
        return provision_end_date`

Поскольку "provision_end_date" является вычисляемым полем, оно не является частью PrHW.objects.all(), и поэтому я не могу создать набор запросов, используя его в качестве опции фильтра (например, создать список объектов PrHW, где provision_end_date меньше, чем сегодня - Выдается ошибка, что "provision_end_date" не является допустимым полем, что и ожидалось). Я попробовал создать пользовательский менеджер моделей, но все равно не могу получить доступ ни к полю @property, ни к другим полям, таким как "provision_start_date" в пользовательском менеджере. Возможно, это было бы проще простого, но даже после нескольких поисков я не смог разобраться с этим. Любая помощь будет принята с благодарностью.

Декоратор @property позволяет получить доступ к полю модели, как если бы это было обычное свойство.

Это означает, что вы можете вызвать provision_start_date как если бы это была переменная:

start_date = prwh.provision_start_date

Кроме того, вы можете выполнять проверки следующим образом

if prwh.provision_start_date < today: "вернуть что-нибудь"

Вернуться на верх