add: core.utils.get_context_field is added which can be used with drf serializer contexts, documentation is added

This commit is contained in:
2025-08-06 10:11:23 +05:00
parent 59d1fe4a9a
commit 11834f3072
4 changed files with 91 additions and 24 deletions

View File

@@ -1,6 +1,7 @@
from rest_framework import serializers # type: ignore
from core.apps.companies.models import CompanyFolderModel
from core.utils.misc import get_context_field
class BaseCompanyFolderSerializer(serializers.ModelSerializer):
@@ -38,7 +39,7 @@ class CreateCompanyFolderSerializer(BaseCompanyFolderSerializer):
class Meta(BaseCompanyFolderSerializer.Meta): ...
class CreateCompanyFolderFromCompanySerializer(CreateCompanyFolderSerializer):
class CreateFolderForCompanySerializer(CreateCompanyFolderSerializer):
class Meta(CreateCompanyFolderSerializer.Meta):
read_only_fields = (
*CreateCompanyFolderSerializer.Meta.read_only_fields,
@@ -46,6 +47,6 @@ class CreateCompanyFolderFromCompanySerializer(CreateCompanyFolderSerializer):
)
def create(self, validated_data: dict[str, object]) -> Meta.model:
validated_data["company_id"] = self.context["company_id"]
return super().create(validated_data) # type: ignore
context_data = get_context_field("company", self.context)
return super().create(validated_data | context_data) # type: ignore