Как сделать определенное поле не видимым в выводе 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. Я застрял в этом надолго.

не мог бы кто-нибудь помочь мне с этим. спасибо.

Вернуться на верх