detail product and in pack items for product
This commit is contained in:
@@ -85,6 +85,18 @@ class DollorModel(models.Model):
|
||||
verbose_name_plural = 'مدل دلار'
|
||||
|
||||
|
||||
class InPackItems(models.Model):
|
||||
item_title = models.CharField(max_length=50)
|
||||
cover = models.ImageField(upload_to='product_items/', verbose_name='کاور ایتم')
|
||||
|
||||
class Meta:
|
||||
verbose_name = 'ایتم داخل پک'
|
||||
verbose_name_plural = 'ایتم های داخل پک'
|
||||
|
||||
def __str__(self):
|
||||
return
|
||||
|
||||
|
||||
class ProductModel(models.Model):
|
||||
name = models.CharField(max_length=255, verbose_name='نام')
|
||||
description = models.TextField(verbose_name='توضیحات')
|
||||
@@ -113,6 +125,8 @@ class ProductModel(models.Model):
|
||||
created_at = models.DateTimeField(auto_now_add=True, verbose_name='زمان ثبت محصول')
|
||||
category = models.ForeignKey(SubCategoryModel, null=True, on_delete=models.SET_NULL, related_name='products', verbose_name='دسته بندی محصول')
|
||||
related_products = models.ManyToManyField('self', blank=True, verbose_name='محصولات مرتبط')
|
||||
in_pack_items = models.ManyToManyField(InPackItems, blank=True, verbose_name='ایتم های داخل پک')
|
||||
|
||||
def format_discount_price(self):
|
||||
discount_price = int(self.price * (100 - self.discount) / 100)
|
||||
formatted_num = "{:,.0f}".format(discount_price)
|
||||
@@ -152,6 +166,34 @@ class ProductModel(models.Model):
|
||||
verbose_name_plural = 'محصولات'
|
||||
|
||||
|
||||
|
||||
class DetailModel(models.Model):
|
||||
title = models.CharField(max_length=50, verbose_name='عنوان')
|
||||
detail_text1 = models.CharField(max_length=150 , verbose_name='متن جزیات ۱')
|
||||
detail_text2 = models.CharField(max_length=150 , verbose_name='متن جزیات ۲')
|
||||
detail_text3 = models.CharField(max_length=150 , verbose_name='متن جزیات ۳')
|
||||
detail_text4 = models.CharField(max_length=150 , verbose_name='متن جزیات ۴')
|
||||
def __str__(self):
|
||||
return self.title
|
||||
|
||||
class Meta:
|
||||
verbose_name = 'مدل جزیات'
|
||||
verbose_name_plural = 'مدل های جزیات'
|
||||
|
||||
|
||||
class ProductDetailModel(models.Model):
|
||||
product = models.ForeignKey(ProductModel, on_delete=models.CASCADE, verbose_name='محصول مرتبط', related_name='details')
|
||||
detail = models.ManyToManyField(DetailModel, verbose_name='جزيات ها')
|
||||
|
||||
class Meta:
|
||||
verbose_name = 'جزیات محصول'
|
||||
verbose_name_plural = 'جزیات محصول ها'
|
||||
|
||||
def __str__(self):
|
||||
return f'جزيیات محصول {self.product}'
|
||||
|
||||
|
||||
|
||||
class InStuckColors(models.Model):
|
||||
color = models.CharField(_("رنگ"), null=True, blank=True, max_length=255)
|
||||
in_stuck = models.PositiveIntegerField(default=0, verbose_name="تعداد موجود")
|
||||
|
||||
Reference in New Issue
Block a user