slug genrator for sub category and category and parent filed for sub category serializer
This commit is contained in:
@@ -13,6 +13,7 @@ class ProductModelAdmin(ModelAdmin, ImportExportModelAdmin):
|
|||||||
import_form_class = ImportForm
|
import_form_class = ImportForm
|
||||||
export_form_class = ExportForm
|
export_form_class = ExportForm
|
||||||
|
|
||||||
|
readonly_fields = ('slug', )
|
||||||
|
|
||||||
compressed_fields = True
|
compressed_fields = True
|
||||||
warn_unsaved_form = True
|
warn_unsaved_form = True
|
||||||
@@ -31,6 +32,7 @@ class MainCategoryModelAdmin(ModelAdmin, ImportExportModelAdmin):
|
|||||||
import_form_class = ImportForm
|
import_form_class = ImportForm
|
||||||
export_form_class = ExportForm
|
export_form_class = ExportForm
|
||||||
|
|
||||||
|
readonly_fields = ('slug', )
|
||||||
|
|
||||||
compressed_fields = True
|
compressed_fields = True
|
||||||
warn_unsaved_form = True
|
warn_unsaved_form = True
|
||||||
@@ -46,6 +48,7 @@ class SubCategoryModelAdmin(ModelAdmin, ImportExportModelAdmin):
|
|||||||
import_form_class = ImportForm
|
import_form_class = ImportForm
|
||||||
export_form_class = ExportForm
|
export_form_class = ExportForm
|
||||||
|
|
||||||
|
readonly_fields = ('slug', )
|
||||||
|
|
||||||
compressed_fields = True
|
compressed_fields = True
|
||||||
warn_unsaved_form = True
|
warn_unsaved_form = True
|
||||||
|
|||||||
@@ -19,8 +19,10 @@ class MainCategoryModel(models.Model):
|
|||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
# def get_absolute_url(self):
|
def save(self, *args, **kwargs):
|
||||||
# return reverse('category_detail', kwargs={'slug': self.slug})
|
if not self.slug:
|
||||||
|
self.slug = slugify(self.name, allow_unicode=True)
|
||||||
|
super().save(*args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
class SubCategoryModel(models.Model):
|
class SubCategoryModel(models.Model):
|
||||||
@@ -39,6 +41,10 @@ class SubCategoryModel(models.Model):
|
|||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
def save(self, *args, **kwargs):
|
||||||
|
if not self.slug:
|
||||||
|
self.slug = slugify(self.name, allow_unicode=True)
|
||||||
|
super().save(*args, **kwargs)
|
||||||
|
|
||||||
class DollorModel(models.Model):
|
class DollorModel(models.Model):
|
||||||
price = models.FloatField(null=True, blank=True, verbose_name='قیمت دلار')
|
price = models.FloatField(null=True, blank=True, verbose_name='قیمت دلار')
|
||||||
|
|||||||
@@ -37,11 +37,14 @@ class CommentSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
class SubCategorySerializer(serializers.ModelSerializer):
|
class SubCategorySerializer(serializers.ModelSerializer):
|
||||||
product_count = serializers.SerializerMethodField()
|
product_count = serializers.SerializerMethodField()
|
||||||
|
parent = serializers.SerializerMethodField()
|
||||||
class Meta:
|
class Meta:
|
||||||
model = SubCategoryModel
|
model = SubCategoryModel
|
||||||
fields = ['id', 'name', 'slug','icon', 'meta_title', 'meta_description', 'product_count', 'show']
|
fields = ['id', 'name', 'slug','icon', 'meta_title', 'meta_description', 'product_count', 'show', 'parent']
|
||||||
def get_product_count(self, obj):
|
def get_product_count(self, obj):
|
||||||
return obj.products.count()
|
return obj.products.count()
|
||||||
|
def get_parent(self, obj):
|
||||||
|
return obj.parent.name
|
||||||
|
|
||||||
|
|
||||||
class MainCategorySerializer(serializers.ModelSerializer):
|
class MainCategorySerializer(serializers.ModelSerializer):
|
||||||
|
|||||||
Reference in New Issue
Block a user