From 20499e199a38eff771886c786fd3d965ac1a182f Mon Sep 17 00:00:00 2001 From: Parsa Nazer Date: Mon, 8 Dec 2025 11:11:08 +0330 Subject: [PATCH 1/2] change name of unit category --- backend/product/views.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/product/views.py b/backend/product/views.py index f37c20a..d00dfd9 100644 --- a/backend/product/views.py +++ b/backend/product/views.py @@ -66,14 +66,14 @@ class AllCategories(APIView): instance=categories, many=True, context={'request': request}) return Response(categories_ser.data, status=status.HTTP_200_OK) class UnitCategorySerializerV2(serializers.ModelSerializer): - maincategorys = serializers.SerializerMethodField() + subcategorys = serializers.SerializerMethodField() class Meta: model = UnitCategoryModel fields = ['id', 'name', 'slug', 'icon', 'meta_title', - 'meta_description', 'image', 'maincategorys'] + 'meta_description', 'image', 'subcategorys'] - def get_maincategorys(self, obj): + def get_subcategorys(self, obj): main_categories = obj.maincategorys.all() return MainCategorySerializer(main_categories, many=True, context=self.context).data From f0ff23094fe855df7f4dedaeab8a9dccaccc301d Mon Sep 17 00:00:00 2001 From: Parsa Nazer Date: Mon, 8 Dec 2025 11:40:24 +0330 Subject: [PATCH 2/2] update on_delete category --- ...alter_maincategorymodel_parent_and_more.py | 24 +++++++++++++++++++ backend/product/models.py | 6 ++--- 2 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 backend/product/migrations/0060_alter_maincategorymodel_parent_and_more.py diff --git a/backend/product/migrations/0060_alter_maincategorymodel_parent_and_more.py b/backend/product/migrations/0060_alter_maincategorymodel_parent_and_more.py new file mode 100644 index 0000000..92de253 --- /dev/null +++ b/backend/product/migrations/0060_alter_maincategorymodel_parent_and_more.py @@ -0,0 +1,24 @@ +# Generated by Django 5.1.2 on 2025-12-08 08:08 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('product', '0059_alter_maincategorymodel_parent'), + ] + + operations = [ + migrations.AlterField( + model_name='maincategorymodel', + name='parent', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='maincategorys', to='product.unitcategorymodel', verbose_name='دسته\u200cبندی والد'), + ), + migrations.AlterField( + model_name='subcategorymodel', + name='parent', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='subcategorys', to='product.maincategorymodel', verbose_name='دسته\u200cبندی والد'), + ), + ] diff --git a/backend/product/models.py b/backend/product/models.py index 4617358..4ddc54f 100644 --- a/backend/product/models.py +++ b/backend/product/models.py @@ -54,7 +54,7 @@ class MainCategoryModel(models.Model): max_length=160, verbose_name="توضیحات متا", help_text="توضیحات متا برای SEO", blank=True, null=True) video = models.FileField(upload_to='category_videos/', blank=True, null=True, verbose_name='ویدیو') - parent = models.ForeignKey(UnitCategoryModel, on_delete=models.CASCADE, + parent = models.ForeignKey(UnitCategoryModel, on_delete=models.SET_NULL, related_name='maincategorys', verbose_name='دسته‌بندی والد', null=True) class Meta: verbose_name = "دسته‌بندی اصلی" @@ -84,8 +84,8 @@ class SubCategoryModel(models.Model): max_length=60, verbose_name="عنوان متا", help_text="عنوان متا برای SEO", blank=True, null=True) meta_description = models.TextField( max_length=160, verbose_name="توضیحات متا", help_text="توضیحات متا برای SEO", blank=True, null=True) - parent = models.ForeignKey(MainCategoryModel, on_delete=models.CASCADE, - related_name='subcategorys', verbose_name='دسته‌بندی والد') + parent = models.ForeignKey(MainCategoryModel, on_delete=models.SET_NULL, + related_name='subcategorys', verbose_name='دسته‌بندی والد', null=True) class Meta: verbose_name = "زیر دسته‌بندی"