Modellar tayyor
This commit is contained in:
2
core/apps/api/models/ad/__init__.py
Normal file
2
core/apps/api/models/ad/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
from .ad import * # noqa
|
||||
from .category import * # noqa
|
||||
38
core/apps/api/models/ad/ad.py
Normal file
38
core/apps/api/models/ad/ad.py
Normal file
@@ -0,0 +1,38 @@
|
||||
from django.db import models
|
||||
from django_core.models.base import AbstractBaseModel
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django.contrib.auth import get_user_model
|
||||
from core.apps.api.choices.ad_type import AdType, AdCategoryType
|
||||
|
||||
|
||||
class AdModel(AbstractBaseModel):
|
||||
user = models.ForeignKey(get_user_model(), on_delete=models.CASCADE, verbose_name=_("User"), related_name="ad")
|
||||
name = models.CharField(verbose_name=_("Name"), max_length=255)
|
||||
ad_type = models.CharField(verbose_name=_("Type"), max_length=255, choices=AdType)
|
||||
category = models.ForeignKey("api.Category", on_delete=models.CASCADE, verbose_name=_("Category"))
|
||||
ad_category_type = models.CharField(verbose_name=_("Type"), max_length=255, choices=AdCategoryType)
|
||||
price = models.DecimalField(verbose_name=_("Price"), max_digits=10, decimal_places=2, null=True, blank=True)
|
||||
is_available = models.BooleanField(verbose_name=_("Is available"), default=True, blank=True, null=True)
|
||||
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"))
|
||||
|
||||
def __str__(self):
|
||||
return str(self.pk)
|
||||
|
||||
class Meta:
|
||||
db_table = "ad"
|
||||
verbose_name = _("Ad")
|
||||
verbose_name_plural = _("Ads")
|
||||
|
||||
|
||||
class Color(AbstractBaseModel):
|
||||
name = models.CharField(verbose_name=_("Name"), max_length=255)
|
||||
|
||||
def __str__(self):
|
||||
return str(self.pk)
|
||||
|
||||
class Meta:
|
||||
db_table = "color"
|
||||
verbose_name = _("Color")
|
||||
verbose_name_plural = _("Colors")
|
||||
18
core/apps/api/models/ad/category.py
Normal file
18
core/apps/api/models/ad/category.py
Normal file
@@ -0,0 +1,18 @@
|
||||
from django.db import models
|
||||
from django_core.models.base import AbstractBaseModel
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
|
||||
class Category(AbstractBaseModel):
|
||||
name = models.CharField(max_length=255, verbose_name=_('Category Name'))
|
||||
parent = models.ForeignKey('self', null=True, blank=True, related_name='children', on_delete=models.CASCADE)
|
||||
show_home = models.BooleanField(default=False, verbose_name=_('Show Home'))
|
||||
level = models.IntegerField(default=0, verbose_name=_('Level'))
|
||||
|
||||
def __str__(self):
|
||||
return str(self.pk)
|
||||
|
||||
class Meta:
|
||||
db_table = 'category'
|
||||
verbose_name = _('Category')
|
||||
verbose_name_plural = _('Categories')
|
||||
Reference in New Issue
Block a user