from django.db import models from django.utils.translation import gettext_lazy as _ from django_core.models.base import AbstractBaseModel class BannerModel(AbstractBaseModel): title = models.CharField(_("Title"), max_length=255) description = models.TextField(_("Description")) mobile_image = models.ImageField( _("Mobile Image"), upload_to="banners/mobile/" ) desktop_image = models.ImageField( _("Desktop Image"), upload_to="banners/desktop/" ) link = models.URLField(_("Link")) bg_color = models.CharField(_("Background Color"), max_length=7, default="#FFFFFF") text_color = models.CharField(_("Text Color"), max_length=7, default="#000000") is_active = models.BooleanField(_("Is Active"), default=True) order = models.PositiveIntegerField(_("Display Order"), default=0) def __str__(self): return self.title class Meta: db_table = "banner" verbose_name = _("Banner") verbose_name_plural = _("Banners") ordering = ["order", "-created_at"]