Задать вопрос

Как создать собственный фильтр в django?

Имеется следующая модель:

class Client(models.Model):
    @property
    def is_defaulter(self):
        if self.total_paid >= 72000:
            return False
        first_payment_date = self.contract_date
        first_payment_date.replace(day=10,
                                   month=first_payment_date.month + 1 if date.today().day <= 25
                                   else first_payment_date + 2)
        return ((date.today() - first_payment_date).month + 1) * 6000 > self.total_paid


Необходимо создать булевый фильтр, который будет отбирать клиентов по вышеуказанному алгоритму. Пробовал указать в list_filter is_defaulter, но вылетел эксепшн "нет такого поля".
  • Вопрос задан
  • 2295 просмотров
Подписаться 4 Оценить Комментировать
Решения вопроса 1
Такой возможности нет. Можно вот так извратиться
clients = [x for x in Client.objects.all() if x.is_defaulter]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы