Home api lari chiqarildi

This commit is contained in:
2025-11-25 16:40:18 +05:00
parent bab8f253e7
commit 6d176efece
30 changed files with 355 additions and 13 deletions

View File

@@ -16,6 +16,7 @@ class AdModel(AbstractBaseModel):
physical_product = models.BooleanField(verbose_name=_("Physical product"), default=False)
plan = models.ForeignKey("api.AdTopPlan", on_delete=models.CASCADE, verbose_name=_("Plan"))
tags = models.ManyToManyField("api.Tags", verbose_name=_("Tags"))
image = models.ImageField(verbose_name=_("Image"))
def __str__(self):
return str(self.pk)

View File

@@ -13,13 +13,6 @@ class Category(AbstractBaseModel):
category_type = models.CharField(max_length=255, verbose_name=_('Category Type'), choices=AdCategoryType,
default=AdCategoryType.PRODUCT)
def save(self, *args, **kwargs):
if self.parent:
self.level = self.parent.level + 1
else:
self.level = 0
super().save(*args, **kwargs)
def __str__(self):
return str(self.pk)

View File

@@ -1,12 +1,17 @@
from django.db import models
from django_core.models.base import AbstractBaseModel
from django.utils.translation import gettext_lazy as _
from core.apps.api.models.ad.ad import AdModel
from core.apps.api.models import AdModel
class AdImage(AbstractBaseModel):
image = models.ImageField(verbose_name=_("Image"), upload_to="ads/images/")
ad = models.ForeignKey(AdModel, verbose_name=_("Ad"), on_delete=models.CASCADE)
ad = models.ForeignKey(AdModel, verbose_name=_("Ad"), related_name="images",
on_delete=models.CASCADE)
ad_variant = models.ForeignKey("api.AdVariant", verbose_name=_("Ad Variant"), null=True, blank=True,
related_name="images",
on_delete=models.CASCADE)
def __str__(self):
return str(self.pk)

View File

@@ -6,7 +6,7 @@ from core.apps.api.choices.ad_variant_type import AdVariantType
class AdVariant(AbstractBaseModel):
ad = models.ForeignKey(AdModel, on_delete=models.CASCADE)
ad = models.ForeignKey(AdModel, on_delete=models.CASCADE, related_name="variants")
variant = models.CharField(max_length=255, choices=AdVariantType, db_index=True)
value = models.CharField(max_length=255)
is_available = models.CharField(max_length=255)

View File

@@ -8,8 +8,8 @@ from core.apps.api.models.ad import AdModel
class Feedback(AbstractBaseModel):
star = models.IntegerField(default=0, verbose_name=_("Star"))
user = models.ForeignKey(get_user_model(), on_delete=models.CASCADE, verbose_name=_("User"))
ad = models.ForeignKey(AdModel, on_delete=models.CASCADE, verbose_name=_("Ad"))
command = models.CharField(max_length=255, verbose_name=_("Command"))
ad = models.ForeignKey(AdModel, on_delete=models.CASCADE, verbose_name=_("Ad"), related_name="feedback")
comment = models.CharField(max_length=255, verbose_name=_("Comment"))
def __str__(self):
return str(self.pk)