Я использую React для динамического отображения таблицы из JSON, сериализованной DRF. Только некоторые столбцы предназначены для редактирования пользователем, остальные доступны только для чтения. Я бы хотел, чтобы сериализатор указывал, какое из полей доступно только для чтения, а не явно устанавливал его в приложении React.
Допустим, у меня есть такой сериализатор:
class Test_Serializer(serializers.ModelSerializer):
class Meta:
model = Change_Ticket
fields = ['change_id','date','title','description']
read_only_fields = ['change_id']
extra_kwargs = {'change_id':{'read_only':True}}
Я бы хотел, чтобы результат был примерно таким:
[
{
"change_id": {
"CHG000001":
{"read_only":True}
}
"date": "2020-05-21",
"title": "Change Title goes here",
"description": "Change Description"
}
]
К сожалению, ни read_only_fields, ни extra_kwargs работают, поскольку они, кажется, не влияют на визуализированный JSON. Ключевое слово style, кажется, применимо только при рендеринге в html, а не в JSON.
Просто интересно, есть ли простой способ добиться этого, или мне придется вручную кодировать это поведение с помощью to_presentation метод?