Можем ли мы вызвать класс сериализатора, используя строку в Django rest frame work? - PullRequest
0 голосов
/ 07 января 2020

Это объект, который мы используем для получения класса сериализатора

   serializer_obj = {
                        'Check Layout Query': 'ChecklayoutQueryViewSerializer', 
                        'Check Remitter Query': 'RemitterQueryViewSerializer', 
                        'Check Processing Query': 'ProcessQueryViewSerializer'
                    }

Я хочу использовать ключ из словаря выше для получения класса сериализатора:

serializer = ProcessQueryViewSerializer(queryset, many=True)

Я пытаюсь сделать так:

serializer = serialier_obj['Check Processing Query'](queryset, many=True)

Но, к сожалению, я получаю сообщение об ошибке:

str obj не вызывается

1 Ответ

0 голосов
/ 07 января 2020

Как показывает ошибка, вы пытаетесь использовать str в качестве callable. Вы должны изменить свой serializer_obj на что-то вроде этого:

serializer_obj = {
    'Check Layout Query': ChecklayoutQueryViewSerializer, 
    'Check Remitter Query': RemitterQueryViewSerializer, 
    'Check Processing Query': ProcessQueryViewSerializer
}

Используя фактические классы / функции, а не строку.

...