rebuild of detail of product

This commit is contained in:
Parsa Nazer
2025-04-22 20:54:20 +03:30
parent 50f5d19aa3
commit c79a5ee1ca
6 changed files with 89 additions and 20 deletions
+16 -16
View File
@@ -129,18 +129,6 @@ class ProductModel(models.Model):
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='متن جزیات ۲', blank=True, null=True)
detail_text3 = models.CharField(max_length=150 , verbose_name='متن جزیات ۳', blank=True, null=True)
detail_text4 = models.CharField(max_length=150 , verbose_name='متن جزیات ۴', blank=True, null=True)
def __str__(self):
return self.title
class Meta:
verbose_name = 'مدل جزیات'
verbose_name_plural = 'مدل های جزیات'
class ProductDetailCategory(models.Model):
@@ -176,8 +164,6 @@ class CommentModel(models.Model):
def __str__(self):
return f"{self.user}-{self.content[:30]}"
class AttributeType(models.Model):
name = models.CharField(verbose_name='نام نوع متغییر', max_length=100)
@@ -199,7 +185,6 @@ class AttributeValue(models.Model):
def __str__(self):
return f"{self.attribute_type}: {self.value}"
class ProductImageModel(models.Model):
name = models.CharField(max_length=30, verbose_name='نام عکس')
image = models.ImageField(upload_to='product_images/')
@@ -215,7 +200,6 @@ class ProductImageModel(models.Model):
class ProductDetailModel(models.Model):
name = models.CharField(max_length=50, verbose_name='نام جزيیات', help_text='این متن فقط برای راحتی در استفاده از پنل ادمین میباشد')
detail_category = models.ForeignKey(ProductDetailCategory, on_delete=models.CASCADE, verbose_name='دسته بندی جزيات')
detail = models.ManyToManyField(DetailModel, verbose_name='جزيات ها')
class Meta:
verbose_name = 'جزیات محصول'
@@ -223,6 +207,22 @@ class ProductDetailModel(models.Model):
def __str__(self):
return f'جزيیات محصول {self.detail_category.title} - {self.name}'
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='متن جزیات ۲', blank=True, null=True)
detail_text3 = models.CharField(max_length=150 , verbose_name='متن جزیات ۳', blank=True, null=True)
detail_text4 = models.CharField(max_length=150 , verbose_name='متن جزیات ۴', blank=True, null=True)
detail_model = models.ForeignKey(ProductDetailModel, on_delete=models.CASCADE, verbose_name='دسته بندی جزيات', related_name='details')
def __str__(self):
return f'{self.title}'
class Meta:
verbose_name = 'مدل جزیات'
verbose_name_plural = 'مدل های جزیات'
class ProductVariant(models.Model):
product = models.ForeignKey(ProductModel, on_delete=models.CASCADE, related_name='variants', verbose_name='محصول')
product_attributes = models.ManyToManyField(AttributeValue, verbose_name='ویژگی‌ها', related_name='variant')