Django 중첩 개체, 다른 serializer GET 및 POST

MaxenceP

이것은 내가 여기에 있었던이 질문에 대한 후속 조치 입니다.

이제 사용자 기본 키를 사용하고 AP 직렬 변환기에이 줄을 주석 처리 한 후 새 AP 개체를 게시 할 수 있습니다 user = UserIndexSerializer().

우편 배달부 요청 :

{
    "user":1,
    "name":"Max AP 05"
}

그러나 지금 내가 가진 문제는 초기 UserIdexSerializer가 쓸모 없게 렌더링된다는 것입니다.

이 serializer는 GET 요청에 표시 할 필드를 결정하지만 결과적으로 POST 요청에 필요한 필드를 부과합니다. 내가하려는 것은 :

  • 사용자 ID 만 사용하여 새 AP 개체 게시
  • GET 요청 중 UserIndexSerializer 필드 표시 (first_name, last_name, ID 제외)

이 작업을 어떻게 할 수 있습니까?

나는이 게시물 을 찾아서 읽었 습니다 .

다른보기를 사용해 보았습니다. 하나는 내 모델을 나열하고 다른 하나는 새로 만들기위한 것입니다.

from rest_framework import serializers
from ..models.model_art_piece import AP
from .serializers_user import *


class APIndexSerializer(serializers.ModelSerializer):
    user = UserIndexSerializer()

    class Meta:
        model = AP
        fields = [
            'id',
            'user',
            'name'
        ]

class APCreateSerializer(serializers.ModelSerializer):
    user = UserIDSerializer()

    class Meta:
        model = AP
        fields = [
            'id',
            'user',
            'name'
        ]

    def create(self, validated_data):
        ap = AP.objects.create(**validated_data)
        return ap

class APDetailsSerializer(serializers.ModelSerializer):
    class Meta:
        model = AP
        fields = '__all__'

또한 다른 serializer를 만들려고했습니다.

from rest_framework import serializers
from ..models.model_user import User


class UserIndexSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = [
            'first_name',
            'last_name'
        ]

class UserIDSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = [
            'id'
        ]

class UserDetailsSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = '__all__'

이것은 전혀 작동하지 않습니다. 누구든지 이것으로 나를 도울 수 있습니까?

MrVhek

내가 올바르게 이해했다면 당신이 원하는 것은 get 중에 중첩 된 객체를 얻는 것입니다. 내 직렬 변환기에서이 문제를 해결 한 것과 동일한 문제가 발생했습니다.

class APIndexSerializer(serializers.ModelSerializer):
    class Meta:
        model = AP
        fields = ['id','user','name']

    def to_representation(self, obj):
        self.fields['user'] = UserIndexSerializer()
        return super(APIndexSerializer, self).to_representation(obj)

이 ID로 생성하고 사용자의 중첩 정보를 얻을 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Django : 직렬화중인 개체를 serializer에 중첩합니까?

분류에서Dev

DRF는 중첩 된 serializer 및 외래 키를 사용하여 개체를 만듭니다.

분류에서Dev

Django Rest Framework serializer를 양식 및 중첩 관계로 사용

분류에서Dev

Django REST 프레임 워크 Serializer에서 GET 및 POST의 비대칭 특성

분류에서Dev

Terraform은 중첩 된 개체 및 목록을 반복합니다.

분류에서Dev

JSON : 중첩 된 개체 드릴 다운 및 조작

분류에서Dev

QNetworkManager를 사용하여 QT에서 다중 및 중첩 된 GET / POST를 설계하는 가장 좋은 방법

분류에서Dev

Django Rest Framework-GET 및 POST에 대해 서로 다른 관계 직렬화

분류에서Dev

Django 개수 중첩 ManyToManyField 개체

분류에서Dev

Powershell JSON 중첩 개체에서 값 및 개수를 제거해야합니다.

분류에서Dev

MVC 다른 Get 및 Post to the controller method

분류에서Dev

Django는 중첩 된 관련 개체의 개수를 가져옵니다.

분류에서Dev

중첩 ArrayList 개체 및 이진 검색

분류에서Dev

중첩 된 개체 및 집계

분류에서Dev

Bool은 필터 및 중첩 된 개체로 쿼리해야합니다.

분류에서Dev

Django Rest Framework 중첩 직렬 변환기 개체가 null입니다.

분류에서Dev

Django Rest Framework : GET 응답에서 전체 외래 키 개체를 보내지 만 두 개의 serializer없이 POST 페이로드에서 외래 ID 만 허용합니까?

분류에서Dev

serializer의 Django ManyToOne 관계는 호출하는 개체를 가져옵니다.

분류에서Dev

키로 개체 값 찾기 및 검색, 중첩 개체 포함

분류에서Dev

자식 개체 및 형제 개체에서 개체 이름이 동일한 XML Serializer를 사용하여 개체를 직렬화 할 수 없습니다.

분류에서Dev

Automapper 맵 중첩 된 다른 개체 속성

분류에서Dev

개체, 역할 및 다중 파견

분류에서Dev

다중 상속 및 클래스 개체

분류에서Dev

C # COM 개체 및 다중 스레딩

분류에서Dev

관찰 가능한 중첩 된 개체를 다른 개체에 각도 매핑

분류에서Dev

내 개체를 추가하기 위해 중첩 배열 및 개체가있는 개체 배열을 반복합니다.

분류에서Dev

동일한 사용 : 두 개의 레일 경로에 대해 GET 및 POST와 함께 다른 작업

분류에서Dev

OnActionExecuting 중에 GET 및 POST를 다르게 처리하십시오.

분류에서Dev

그룹 및 중첩 된 개체를 다르게 내보내도록 스크립트 변경

Related 관련 기사

  1. 1

    Django : 직렬화중인 개체를 serializer에 중첩합니까?

  2. 2

    DRF는 중첩 된 serializer 및 외래 키를 사용하여 개체를 만듭니다.

  3. 3

    Django Rest Framework serializer를 양식 및 중첩 관계로 사용

  4. 4

    Django REST 프레임 워크 Serializer에서 GET 및 POST의 비대칭 특성

  5. 5

    Terraform은 중첩 된 개체 및 목록을 반복합니다.

  6. 6

    JSON : 중첩 된 개체 드릴 다운 및 조작

  7. 7

    QNetworkManager를 사용하여 QT에서 다중 및 중첩 된 GET / POST를 설계하는 가장 좋은 방법

  8. 8

    Django Rest Framework-GET 및 POST에 대해 서로 다른 관계 직렬화

  9. 9

    Django 개수 중첩 ManyToManyField 개체

  10. 10

    Powershell JSON 중첩 개체에서 값 및 개수를 제거해야합니다.

  11. 11

    MVC 다른 Get 및 Post to the controller method

  12. 12

    Django는 중첩 된 관련 개체의 개수를 가져옵니다.

  13. 13

    중첩 ArrayList 개체 및 이진 검색

  14. 14

    중첩 된 개체 및 집계

  15. 15

    Bool은 필터 및 중첩 된 개체로 쿼리해야합니다.

  16. 16

    Django Rest Framework 중첩 직렬 변환기 개체가 null입니다.

  17. 17

    Django Rest Framework : GET 응답에서 전체 외래 키 개체를 보내지 만 두 개의 serializer없이 POST 페이로드에서 외래 ID 만 허용합니까?

  18. 18

    serializer의 Django ManyToOne 관계는 호출하는 개체를 가져옵니다.

  19. 19

    키로 개체 값 찾기 및 검색, 중첩 개체 포함

  20. 20

    자식 개체 및 형제 개체에서 개체 이름이 동일한 XML Serializer를 사용하여 개체를 직렬화 할 수 없습니다.

  21. 21

    Automapper 맵 중첩 된 다른 개체 속성

  22. 22

    개체, 역할 및 다중 파견

  23. 23

    다중 상속 및 클래스 개체

  24. 24

    C # COM 개체 및 다중 스레딩

  25. 25

    관찰 가능한 중첩 된 개체를 다른 개체에 각도 매핑

  26. 26

    내 개체를 추가하기 위해 중첩 배열 및 개체가있는 개체 배열을 반복합니다.

  27. 27

    동일한 사용 : 두 개의 레일 경로에 대해 GET 및 POST와 함께 다른 작업

  28. 28

    OnActionExecuting 중에 GET 및 POST를 다르게 처리하십시오.

  29. 29

    그룹 및 중첩 된 개체를 다르게 내보내도록 스크립트 변경

뜨겁다태그

보관