Как сделать определенное поле не видимым в выводе api с помощью python и django?
у меня есть родительский (AccessInternalSerializer) и дочерний сериализатор (AccessSerializer) классы, как показано ниже,
class AccessInternalSerializer(AccessBaseSerializer):
private_key = serializers.FileField(
allow_null= True,
required=False)
ca_cert=serializers.FileField(
allow=True,
required=False)
def to_representation(self, obj):
data = super().to_representation(obj)
data['private_key'] = obj.private_key
data['ca_cert'] = obj.ca_cert
return data
class Meta(AccessBaseSerializer.Meta):
model=Access
extra_kwargs = {
'auth_failure': {
read-only: True
}
}
class AccessSerializer(AccessInternalSerializer):
private_key = serializers.FileField(
write_only=True,
allow_null=True,
required=False)
ca_cert=serializers.FileField(
write_only=True,
allow_null=True,
required=False)
class Meta(AccessInternalSerializer.Meta):
extra_kwargs={
**AccessInternalsSerializer.Meta.extra_kwargs,
'private_key': {
'write_only':True,
}
'ca_cert': {
'write_only': True,
}
}
Теперь с приведенным выше кодом почему-то private_key и ca_cert отображаются в выводе api с помощью AccessSerializer.
с помощью AccessInternalSerializer to_representation я делаю поля private_key и ca_cert видимыми в выводе api, который использует AccessInternalSerializer.
однако он ведет себя так же при использовании AccessSerializer.
я ожидаю, что вывод api не будет возвращать поля private_key и ca_cert при использовании AccessSerializer.
Я не уверен, где я ошибаюсь. Я новичок в программировании на python и django. Я застрял в этом надолго.
не мог бы кто-нибудь помочь мне с этим. спасибо.