Как я могу изменить тип возвращаемых метаданных поля в json, возвращаемом OPTIONS с помощью Django REST Framework? - PullRequest
1 голос
/ 13 апреля 2020

В настоящее время я пишу автоматизированный сценарий для извлечения типов метаданных из моих моделей в Django конечных точках, которые я пытаюсь быстро подключить.

Как передать информацию о типе данных поля на внешний интерфейс при использовании Django Rest Framework?

Предыдущий вопрос об обмене стека объясняет, как поле OPTIONS можно использовать для извлечения метаданных из моих моделей; Однако я столкнулся с проблемой в том, что не все возвращаемые поля являются подробными. В частности, поля внешнего ключа не указывают правильный тип метаданных.

, например,

"created_by_merchant": {
"type": "field",
"required": false,
"read_only": true,
"label": "Created by merchant"
}

"item_size_selection": {
"type": "field",
"required": false,
"read_only": false,
"label": "Item size selection"
}

Оба являются внешними ключами. Созданный продавцом должен быть целым числом, item_size_selection должен быть символом поля. Есть ли способ указать тип для определенных полей в моих ОПЦИЯХ?

1 Ответ

0 голосов
/ 15 апреля 2020

Нашли обходной путь к проблеме. Внутри сериализаторов можно указать внешние ключи в качестве их конкретного поля сериализатора с использованием источника.

Вот пример:

created_by_merchant = serializers.IntegerField(source='created_by_merchant_id', read_only=True)

Не уверен, почему мне нужно было снова добавить поле read_only, даже если оно указано в мета-классе, но оно требует сопоставления для работы с ним только для чтения

...