Проблема с установкой только одного поля сериализатора в режим read_only Django Rest Framework
У меня есть сериализатор модели, и в нем много полей, которые я хочу использовать fields="__all__"
, но при этом иметь возможность установить одно поле в read_only = True
. Я пробовал сделать это следующим образом:
class InstitutionSerializer(serializers.ModelSerializer):
class Meta:
model = Institution
fields = "__all__"
def __init__(self, *args, **kwargs):
super(InstitutionSerializer, self).__init__(*args, **kwargs)
for field in self.fields:
if field == "owner":
self.fields[field].read_only = True
Но он все равно выставляет флаг "owner": ["This field is required."]
, который мне не нужен, потому что я хочу, чтобы он мог установить его на моем представлении.
Я также пробовал extra_kwargs = {"owner": {"read_only": True}}
и read_only_fields = ("owner",)
, но все равно не получается.