From 653e9d0230182ddd7872f6773531ba96849b675e Mon Sep 17 00:00:00 2001 From: behruz-dev Date: Wed, 1 Oct 2025 13:30:36 +0500 Subject: [PATCH] add: add new field for warehouse create api --- core/apps/wherehouse/serializers/wherehouse.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/core/apps/wherehouse/serializers/wherehouse.py b/core/apps/wherehouse/serializers/wherehouse.py index b01ef0f..b62665b 100644 --- a/core/apps/wherehouse/serializers/wherehouse.py +++ b/core/apps/wherehouse/serializers/wherehouse.py @@ -5,6 +5,7 @@ from rest_framework import serializers from core.apps.wherehouse.models.wherehouse import WhereHouse from core.apps.accounts.models import User from core.apps.accounts.serializers.user import UserListSerializer +from core.apps.projects.models.project import Project class WhereHouseListSerializer(serializers.ModelSerializer): @@ -29,10 +30,12 @@ class WhereHouseCreateSerializer(serializers.Serializer): name = serializers.CharField() address = serializers.CharField() user_ids = serializers.ListField(child=serializers.UUIDField(required=False), required=False) + project_ids = serializers.ListField(child=serializers.UUIDField(required=False), required=False) def create(self, validated_data): with transaction.atomic(): user_ids = validated_data.pop('user_ids', []) + project_ids = validated_data.pop('project_ids', []) wherehouse = WhereHouse.objects.create( name=validated_data.get('name'), address=validated_data.get('address'), @@ -40,6 +43,13 @@ class WhereHouseCreateSerializer(serializers.Serializer): if user_ids: users = User.objects.filter(id__in=user_ids) wherehouse.users.set(users) + + if project_ids: + projects = Project.objects.filter(id__in=project_ids) + for project in projects: + project.wherehouse.add(wherehouse) + project.save() + return wherehouse