This commit is contained in:
A'zamov Samandar
2025-12-06 21:50:28 +05:00
parent 3aa20fdaa1
commit f5766aa319
140 changed files with 2376 additions and 1582 deletions

View File

@@ -0,0 +1,35 @@
from django.db import models
from django_core.models.base import AbstractBaseModel
from django.utils.translation import gettext_lazy as _
class AdImageModel(AbstractBaseModel):
ad = models.ForeignKey(
"api.AdModel",
on_delete=models.CASCADE,
verbose_name=_("Ad"),
related_name="images"
)
ad_variant = models.ForeignKey(
"api.AdVariantModel",
on_delete=models.CASCADE,
verbose_name=_("Ad Variant"),
related_name="images",
null=True,
blank=True
)
image = models.ImageField(_("Image"), upload_to="ads/images/")
order = models.PositiveIntegerField(_("Display Order"), default=0)
is_primary = models.BooleanField(_("Is Primary"), default=False)
def __str__(self):
return f"Image for {self.ad.name}"
class Meta:
db_table = "ad_images"
verbose_name = _("Ad Image")
verbose_name_plural = _("Ad Images")
ordering = ["order", "-created_at"]
indexes = [
models.Index(fields=["ad", "is_primary"]),
]