From eb010cb6de1242fdcc11b602653402429e75e1eb Mon Sep 17 00:00:00 2001 From: behruz-dev Date: Thu, 4 Dec 2025 17:36:33 +0500 Subject: [PATCH] supportda tuman requireddan olib tashlandi --- core/apps/dashboard/serializers/support.py | 2 +- .../migrations/0017_alter_support_district.py | 19 +++++++++++++++++++ core/apps/shared/models/support.py | 8 +++++++- core/apps/shared/serializers/support.py | 11 ++++++----- 4 files changed, 33 insertions(+), 7 deletions(-) create mode 100644 core/apps/shared/migrations/0017_alter_support_district.py diff --git a/core/apps/dashboard/serializers/support.py b/core/apps/dashboard/serializers/support.py index e866953..cc8ecf7 100644 --- a/core/apps/dashboard/serializers/support.py +++ b/core/apps/dashboard/serializers/support.py @@ -19,7 +19,7 @@ class SupportListSerializer(serializers.ModelSerializer): return { 'id': obj.district.id, 'name': obj.district.name, - } + } if obj.district else None def get_user(self, obj): return { diff --git a/core/apps/shared/migrations/0017_alter_support_district.py b/core/apps/shared/migrations/0017_alter_support_district.py new file mode 100644 index 0000000..5e87292 --- /dev/null +++ b/core/apps/shared/migrations/0017_alter_support_district.py @@ -0,0 +1,19 @@ +# Generated by Django 5.2 on 2025-12-04 12:35 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('shared', '0016_plan_comment_plan_doctor_plan_extra_location_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='support', + name='district', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='supports', to='shared.district'), + ), + ] diff --git a/core/apps/shared/models/support.py b/core/apps/shared/models/support.py index a4792dc..a2877cf 100644 --- a/core/apps/shared/models/support.py +++ b/core/apps/shared/models/support.py @@ -13,7 +13,13 @@ class Support(BaseModel): ('HELP', 'yordam'), ) - district = models.ForeignKey(District, on_delete=models.CASCADE, related_name='supports') + district = models.ForeignKey( + District, + on_delete=models.SET_NULL, + related_name='supports', + blank=True, + null=True + ) problem = models.TextField() date = models.DateField() user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='supports') diff --git a/core/apps/shared/serializers/support.py b/core/apps/shared/serializers/support.py index badb38f..1f94134 100644 --- a/core/apps/shared/serializers/support.py +++ b/core/apps/shared/serializers/support.py @@ -9,16 +9,17 @@ from core.apps.shared.models import Support, District class SupportCreateSerializer(serializers.Serializer): - district_id = serializers.IntegerField() + district_id = serializers.IntegerField(required=False) problem = serializers.CharField() date = serializers.DateField() type = serializers.ChoiceField(choices=Support.TYPE) def validate(self, data): - district = District.objects.filter(id=data['district_id']).first() - if not district: - raise serializers.ValidationError({'district': "district not found"}) - data['district'] = district + if data.get('district_id'): + district = District.objects.filter(id=data['district_id']).first() + if not district: + raise serializers.ValidationError({'district': "district not found"}) + data['district'] = district return data def create(self, validated_data):