Django Rest Framework : RetrieveUpdateAPIView

Я хочу добавить несколько данных в базу данных с помощью RetrieveUpdateAPIView и не могу добавить эти данные в базу данных. Как я могу обновить все даты в одном методе Patch.

Мое мнение таково

class CompanyDetailViewAPI(RetrieveUpdateAPIView):
    queryset = Companies.objects.all()
    serializer_class = CompanyDetailsSerializer
    permission_classes = [IsAuthenticated]
    authentication_classes = [JWTAuthentication]
    lookup_field = "id"

а мой сериализатор имеет вид

class KeyPersonsSerializer(serializers.ModelSerializer):
    class Meta:
        model = KeyPersons
        fields = [
            "id",
            "person_name",
            "designation",
            "email",
            "contact_number",
        ]


class CompanyDetailsSerializer(serializers.ModelSerializer):
    key_person = KeyPersonsSerializer(many=True)

    class Meta:
        model = Companies
        fields = [
            "id",
            "address_line_1",
            "address_line_2",
            "city",
            "landmark",
            "state",
            "country",
            "pincode",
            "website",
            "person_name",
            "designation",
            "email",
            "phone",
            "ho_email",
            "ho_contact_number",
            "company_registration_no",
            "gst_no",
            "key_person",
            "company_corporate_presentation",
            "about_company",
            "company_established_date",
            "no_of_facilities",
            "no_of_employees",
        ]

I have tried this but I cant see any result.
How can I update this all date in single Patch method

Вы можете использовать один запрос Patch для обновления данных в базе данных. Вам нужно будет использовать пользовательский сериализатор, чтобы включить все поля, которые вы хотите обновить. Вот пример того, как это можно сделать:

class CompanyDetailViewAPI(RetrieveUpdateAPIView):
queryset = Companies.objects.all()
serializer_class = CompanyDetailsSerializer
permission_classes = [IsAuthenticated]
authentication_classes = [JWTAuthentication]
lookup_field = "id"

class CompanyDetailsSerializer(serializers.ModelSerializer): key_person = KeyPersonsSerializer(many=True)

class Meta:
    model = Companies
    fields = [
        "id",
        "address_line_1",
        "address_line_2",
        "city",
        "landmark",
        "state",
        "country",
        "pincode",
        "website",
        "person_name",
        "designation",
        "email",
        "phone",
        "ho_email",
        "
Вернуться на верх