Как сделать булево поле в django истинным с помощью метода в моделях django

Я работаю над сайтом электронной коммерции, у меня есть поле о новых поступлениях, поэтому любой продукт, созданный за последние 30 дней, должен быть включен в список новых поступлений. В моих моделях у меня есть поле boolean is_new, значение по умолчанию false, и я сделал метод для проверки даты, включен ли продукт в список новых поступлений или нет. но в моем методе new_arrival когда я возвращаю self.is_new я получаю неверный синтаксис.

class Product(models.Model):
    name = models.CharField(max_length=200)
    description = models.TextField()
    price = models.IntegerField()
    picture = models.ImageField(upload_to='picture/')
    is_popular = models.BooleanField()
    is_cart = models.BooleanField()
    is_new = models.BooleanField(default=False)
    created_date = models.DateTimeField(aut_now_add=True)
    def new_arrival(self):
        if self.created_date >= self.created_date - self.created_date.timedelta(days=30):
            return self.is_new=True
        else:
            return self.is_new = False 

Мне кажется, что лучше обрабатывать это с помощью View. При запросе объектов из базы данных вы можете фильтровать объекты на основе даты создания и текущей даты.

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