DRF 직렬 변환기 클래스를 동적으로 생성

샤 루흐 모하마드

동일한 모델의 DRF 직렬 변환기 클래스가 몇 개 있습니다. 코드 반복을 피하기 위해 클래스 생성 코드를 함수로 옮기고 싶습니다.

따라서 기본적으로 함수에서 클래스를 반환해야하지만 클래스 내부의 함수 매개 변수에 액세스 할 수 없습니다 .

def get_course_serializer(fields, read_only_fields=None):
    class CourseSerializer(serializers.ModelSerializer):
        if "id" in fields:
            id = serializers.CharField(default="", read_only=True)
    
        class Meta:
            model = Course
            fields = fields
            if read_only_fields:
                read_only_fields = read_only_fields

return CourseSerializer

여기서는 CourseSerializer 클래스 정의 에서 필드 에 액세스 할 수 없습니다 . 글로벌 키워드를 사용해 보았지만 작동하지 않았습니다.

이 기능을 아래와 같이 사용할 계획입니다.

CourseListSerializer = get_course_serializer(
["id", "title", "slug", "description"])
yvesonline

type클래스를 동적으로 생성 하는 사용할 수 있습니다 . 다음과 같이 작동합니다 (예상되지 않음).

def get_course_serializer(fields, read_only_fields=None):
    mapping = {}
    if "id" in fields:
        mapping["id"] = serializers.CharField(default="", read_only=True)
    ...
    CourseSerializer = type("CourseSerializer", (serializers.ModelSerializer, ), mapping)
    return CourseSerializer

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

내 DRF 직렬 변환기를 수동으로 사용할 수 없습니다.

분류에서Dev

Django 동적 생성 직렬 변환기

분류에서Dev

Django 동적 생성 직렬 변환기

분류에서Dev

DRF 직렬 변환기를 사용하여 사전 목록 유효성 검사

분류에서Dev

DRF 직렬화 기와 함께 camelCase 속성을 사용하여 페이로드를 생성하는 방법

분류에서Dev

Java에서 동적으로 생성 된 클래스로 XML 역 직렬화

분류에서Dev

직렬 명명으로 클래스 객체를 동적으로 생성하는 방법은 무엇입니까?

분류에서Dev

직렬화 된 바이트 배열을 기반으로 클래스 재생성

분류에서Dev

직렬 변환기 DRF로 필드 반전

분류에서Dev

jQuery로 클래스를 변경하기 위해 동적으로 ID 생성

분류에서Dev

Graphene에서 DRF 직렬 변환기를 사용하는 방법

분류에서Dev

drf 직렬 변환기 초기화

분류에서Dev

many = True로 DRF 직렬 변환기를 사용할 때 무거운 계산 결과 공유

분류에서Dev

Python DRF, 직렬화 된 데이터를 변수로 추출

분류에서Dev

DRF 중첩 직렬 변환기가 오류를 반환하는 이유

분류에서Dev

클래스를 동적으로 생성 할 때 초기화 오류

분류에서Dev

정적 클래스 변수를 JSON으로 직렬화하는 Pythonic 방법

분류에서Dev

Dart : JSON 응답을 기반으로 동적 클래스 생성

분류에서Dev

클래스 유형을 동적으로 생성 / 가져 오기

분류에서Dev

직렬화에서 속성 이름 (자동 생성 클래스)을 어떻게 변경할 수 있습니까?

분류에서Dev

활성 클래스를 동적으로 변경하는 방법

분류에서Dev

protobuf-net을 사용하여 유형 변수를 기반으로 클래스를 동적으로 역 직렬화합니다.

분류에서Dev

중첩 직렬 변환기 생성

분류에서Dev

중첩 직렬 변환기 순환 가져 오기 종속성을 해결하는 DRF

분류에서Dev

클래스를 기능적 구성 요소로 변환

분류에서Dev

이 클래스를 기능적 구성 요소로 변환

분류에서Dev

직렬화를 생성하기 위해 템플릿 클래스 체인에 가변 템플릿 사용

분류에서Dev

직렬 변환기 유효성 검사 전에 추가 데이터를 추가하고 DRF에 저장하는 방법은 무엇입니까?

분류에서Dev

동적으로 생성 된 클래스의 호버 동작 변경

Related 관련 기사

  1. 1

    내 DRF 직렬 변환기를 수동으로 사용할 수 없습니다.

  2. 2

    Django 동적 생성 직렬 변환기

  3. 3

    Django 동적 생성 직렬 변환기

  4. 4

    DRF 직렬 변환기를 사용하여 사전 목록 유효성 검사

  5. 5

    DRF 직렬화 기와 함께 camelCase 속성을 사용하여 페이로드를 생성하는 방법

  6. 6

    Java에서 동적으로 생성 된 클래스로 XML 역 직렬화

  7. 7

    직렬 명명으로 클래스 객체를 동적으로 생성하는 방법은 무엇입니까?

  8. 8

    직렬화 된 바이트 배열을 기반으로 클래스 재생성

  9. 9

    직렬 변환기 DRF로 필드 반전

  10. 10

    jQuery로 클래스를 변경하기 위해 동적으로 ID 생성

  11. 11

    Graphene에서 DRF 직렬 변환기를 사용하는 방법

  12. 12

    drf 직렬 변환기 초기화

  13. 13

    many = True로 DRF 직렬 변환기를 사용할 때 무거운 계산 결과 공유

  14. 14

    Python DRF, 직렬화 된 데이터를 변수로 추출

  15. 15

    DRF 중첩 직렬 변환기가 오류를 반환하는 이유

  16. 16

    클래스를 동적으로 생성 할 때 초기화 오류

  17. 17

    정적 클래스 변수를 JSON으로 직렬화하는 Pythonic 방법

  18. 18

    Dart : JSON 응답을 기반으로 동적 클래스 생성

  19. 19

    클래스 유형을 동적으로 생성 / 가져 오기

  20. 20

    직렬화에서 속성 이름 (자동 생성 클래스)을 어떻게 변경할 수 있습니까?

  21. 21

    활성 클래스를 동적으로 변경하는 방법

  22. 22

    protobuf-net을 사용하여 유형 변수를 기반으로 클래스를 동적으로 역 직렬화합니다.

  23. 23

    중첩 직렬 변환기 생성

  24. 24

    중첩 직렬 변환기 순환 가져 오기 종속성을 해결하는 DRF

  25. 25

    클래스를 기능적 구성 요소로 변환

  26. 26

    이 클래스를 기능적 구성 요소로 변환

  27. 27

    직렬화를 생성하기 위해 템플릿 클래스 체인에 가변 템플릿 사용

  28. 28

    직렬 변환기 유효성 검사 전에 추가 데이터를 추가하고 DRF에 저장하는 방법은 무엇입니까?

  29. 29

    동적으로 생성 된 클래스의 호버 동작 변경

뜨겁다태그

보관