Как я могу установить логику нового продукта в Django?

В Django, когда продукт только что добавлен, я хочу, чтобы новый продукт был назван в течение примерно 1 недели и появился на странице новых продуктов. Как я могу построить логику этого?

model.py

class Product(models.Model):
name = models.CharField(max_length=100)
category = models.ForeignKey(Category, on_delete=models.DO_NOTHING)
main_image = models.ImageField(upload_to='static/product_images/%Y/%m/%d/')
detail = models.TextField()
keywords = models.CharField(max_length=50)
description = models.CharField(max_length=1000)
price = models.FloatField()
brand = models.CharField(max_length=50, default='Markon', verbose_name='Brand (Default: Markon)')
sale = models.IntegerField(blank=True, null=True, verbose_name="Sale (%)")
bestseller = models.BooleanField(default=False)
amount = models.IntegerField(blank=True, null=True)
available = models.BooleanField(default=True)
stock = models.BooleanField(default=True)
date_created = models.DateTimeField(auto_now_add=True)

def __str__(self):
    return self.name

@property
def discount(self):
    dis = float(self.price - (self.price * self.sale) / 100)
    ln = ''
    if len(str(dis)) > 3:
        for i in str(dis):
            ln += i
            dis = float(ln)
            if len(ln) > 3:
                break
    return dis

В представлении для страницы новых товаров отфильтруйте набор запросов по полю date_created:

date_week_ago = datetime.now() - timedelta(days=7)
queryset = Product.objects.filter(date_created__gte=date_week_ago)

Таким образом, вы получите только продукты, созданные в течение последних 7 дней

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