Как сделать булево поле в 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. При запросе объектов из базы данных вы можете фильтровать объекты на основе даты создания и текущей даты.