# {py:mod}`django_socio_grpc.protobuf.proto_classes` ```{py:module} django_socio_grpc.protobuf.proto_classes ``` ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`ProtoComment ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoComment :summary: ``` * - {py:obj}`ProtoField ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoField :summary: ``` * - {py:obj}`ProtoEnumLocations ` - * - {py:obj}`ProtoEnum ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoEnum :summary: ``` * - {py:obj}`ProtoMessage ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoMessage :summary: ``` * - {py:obj}`RequestProtoMessage ` - * - {py:obj}`ResponseProtoMessage ` - * - {py:obj}`ProtoRpc ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoRpc :summary: ``` * - {py:obj}`ProtoService ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoService :summary: ``` * - {py:obj}`ProtoFieldConvertible ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoFieldConvertible :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`get_proto_type ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.get_proto_type :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`logger ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.logger :summary: ``` * - {py:obj}`EmptyMessage ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.EmptyMessage :summary: ``` * - {py:obj}`StructMessage ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.StructMessage :summary: ``` * - {py:obj}`FIELDS_TO_PROTO_TYPES ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.FIELDS_TO_PROTO_TYPES :summary: ``` * - {py:obj}`PRIMITIVE_TYPES ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.PRIMITIVE_TYPES :summary: ``` * - {py:obj}`TYPING_TO_PROTO_TYPES ` - ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.TYPING_TO_PROTO_TYPES :summary: ``` ```` ### API ````{py:data} logger :canonical: django_socio_grpc.protobuf.proto_classes.logger :value: > 'getLogger(...)' ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.logger ``` ```` `````{py:class} ProtoComment(comments) :canonical: django_socio_grpc.protobuf.proto_classes.ProtoComment ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoComment ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoComment.__init__ ``` ````{py:method} __iter__() :canonical: django_socio_grpc.protobuf.proto_classes.ProtoComment.__iter__ ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoComment.__iter__ ``` ```` ````{py:method} __bool__() :canonical: django_socio_grpc.protobuf.proto_classes.ProtoComment.__bool__ ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoComment.__bool__ ``` ```` ````` `````{py:class} ProtoField :canonical: django_socio_grpc.protobuf.proto_classes.ProtoField ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoField ``` ````{py:attribute} name :canonical: django_socio_grpc.protobuf.proto_classes.ProtoField.name :type: str :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoField.name ``` ```` ````{py:attribute} field_type :canonical: django_socio_grpc.protobuf.proto_classes.ProtoField.field_type :type: typing.Union[str, ProtoMessage, ProtoEnum] :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoField.field_type ``` ```` ````{py:attribute} cardinality :canonical: django_socio_grpc.protobuf.proto_classes.ProtoField.cardinality :type: django_socio_grpc.protobuf.typing.FieldCardinality :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoField.cardinality ``` ```` ````{py:attribute} comments :canonical: django_socio_grpc.protobuf.proto_classes.ProtoField.comments :type: list[str] | None :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoField.comments ``` ```` ````{py:attribute} index :canonical: django_socio_grpc.protobuf.proto_classes.ProtoField.index :type: int :value: > 0 ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoField.index ``` ```` ````{py:property} field_type_str :canonical: django_socio_grpc.protobuf.proto_classes.ProtoField.field_type_str :type: str ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoField.field_type_str ``` ```` ````{py:property} field_line :canonical: django_socio_grpc.protobuf.proto_classes.ProtoField.field_line :type: str ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoField.field_line ``` ```` ````{py:method} _get_cardinality(field: rest_framework.serializers.Field) :canonical: django_socio_grpc.protobuf.proto_classes.ProtoField._get_cardinality :classmethod: ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoField._get_cardinality ``` ```` ````{py:method} from_field_dict(field_dict: django_socio_grpc.protobuf.typing.FieldDict) -> django_socio_grpc.protobuf.proto_classes.ProtoField :canonical: django_socio_grpc.protobuf.proto_classes.ProtoField.from_field_dict :classmethod: ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoField.from_field_dict ``` ```` ````{py:method} from_field_dict_handle_str_field_type(field_type: str, field_name: str, cardinality: django_socio_grpc.protobuf.typing.FieldCardinality) :canonical: django_socio_grpc.protobuf.proto_classes.ProtoField.from_field_dict_handle_str_field_type :classmethod: ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoField.from_field_dict_handle_str_field_type ``` ```` ````{py:method} from_field(field: rest_framework.serializers.Field, to_message: collections.abc.Callable = None, parent_serializer: rest_framework.serializers.Serializer = None, name_if_recursive: str = None) -> django_socio_grpc.protobuf.proto_classes.ProtoField :canonical: django_socio_grpc.protobuf.proto_classes.ProtoField.from_field :classmethod: ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoField.from_field ``` ```` ````{py:method} get_field_comments(field: rest_framework.serializers.Field) :canonical: django_socio_grpc.protobuf.proto_classes.ProtoField.get_field_comments :classmethod: ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoField.get_field_comments ``` ```` ````{py:method} from_serializer(field: rest_framework.serializers.Serializer, to_message: collections.abc.Callable, parent_serializer: rest_framework.serializers.Serializer = None, name_if_recursive: str = None) -> django_socio_grpc.protobuf.proto_classes.ProtoField :canonical: django_socio_grpc.protobuf.proto_classes.ProtoField.from_serializer :classmethod: ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoField.from_serializer ``` ```` ````{py:method} _from_related_field(field: rest_framework.serializers.RelatedField, source_attrs: list[str] | None = None) -> django_socio_grpc.protobuf.proto_classes.ProtoField :canonical: django_socio_grpc.protobuf.proto_classes.ProtoField._from_related_field :classmethod: ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoField._from_related_field ``` ```` ````{py:method} _extract_method_info(method) :canonical: django_socio_grpc.protobuf.proto_classes.ProtoField._extract_method_info :classmethod: ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoField._extract_method_info ``` ```` ````{py:method} _from_serializer_method_field(field: rest_framework.serializers.SerializerMethodField) -> django_socio_grpc.protobuf.proto_classes.ProtoField :canonical: django_socio_grpc.protobuf.proto_classes.ProtoField._from_serializer_method_field :classmethod: ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoField._from_serializer_method_field ``` ```` ````` `````{py:class} ProtoEnumLocations :canonical: django_socio_grpc.protobuf.proto_classes.ProtoEnumLocations Bases: {py:obj}`enum.Enum` ````{py:attribute} MESSAGE :canonical: django_socio_grpc.protobuf.proto_classes.ProtoEnumLocations.MESSAGE :value: > 1 ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoEnumLocations.MESSAGE ``` ```` ````{py:attribute} GLOBAL :canonical: django_socio_grpc.protobuf.proto_classes.ProtoEnumLocations.GLOBAL :value: > 2 ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoEnumLocations.GLOBAL ``` ```` ````` `````{py:class} ProtoEnum :canonical: django_socio_grpc.protobuf.proto_classes.ProtoEnum ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoEnum ``` ````{py:attribute} enum :canonical: django_socio_grpc.protobuf.proto_classes.ProtoEnum.enum :type: enum.Enum :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoEnum.enum ``` ```` ````{py:attribute} wrap_in_message :canonical: django_socio_grpc.protobuf.proto_classes.ProtoEnum.wrap_in_message :type: bool :value: > False ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoEnum.wrap_in_message ``` ```` ````{py:attribute} location :canonical: django_socio_grpc.protobuf.proto_classes.ProtoEnum.location :type: django_socio_grpc.protobuf.proto_classes.ProtoEnumLocations :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoEnum.location ``` ```` ````{py:property} name :canonical: django_socio_grpc.protobuf.proto_classes.ProtoEnum.name :type: str ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoEnum.name ``` ```` ````{py:method} get_enum_from_annotation(field: rest_framework.serializers.ChoiceField) :canonical: django_socio_grpc.protobuf.proto_classes.ProtoEnum.get_enum_from_annotation :staticmethod: ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoEnum.get_enum_from_annotation ``` ```` ````{py:method} __eq__(other) :canonical: django_socio_grpc.protobuf.proto_classes.ProtoEnum.__eq__ ```` ````{py:method} __hash__() :canonical: django_socio_grpc.protobuf.proto_classes.ProtoEnum.__hash__ ```` ````` `````{py:class} ProtoMessage :canonical: django_socio_grpc.protobuf.proto_classes.ProtoMessage ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoMessage ``` ````{py:attribute} name :canonical: django_socio_grpc.protobuf.proto_classes.ProtoMessage.name :type: str :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoMessage.name ``` ```` ````{py:attribute} fields :canonical: django_socio_grpc.protobuf.proto_classes.ProtoMessage.fields :type: list[django_socio_grpc.protobuf.proto_classes.ProtoField] :value: > 'dataclass_field(...)' ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoMessage.fields ``` ```` ````{py:attribute} comments :canonical: django_socio_grpc.protobuf.proto_classes.ProtoMessage.comments :type: list[str] | None :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoMessage.comments ``` ```` ````{py:attribute} serializer :canonical: django_socio_grpc.protobuf.proto_classes.ProtoMessage.serializer :type: rest_framework.serializers.BaseSerializer | None :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoMessage.serializer ``` ```` ````{py:attribute} imported_from :canonical: django_socio_grpc.protobuf.proto_classes.ProtoMessage.imported_from :type: str | None :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoMessage.imported_from ``` ```` ````{py:method} get_all_messages() -> dict[str, django_socio_grpc.protobuf.proto_classes.ProtoMessage] :canonical: django_socio_grpc.protobuf.proto_classes.ProtoMessage.get_all_messages ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoMessage.get_all_messages ``` ```` ````{py:method} set_indices(indices: dict[int, str]) -> None :canonical: django_socio_grpc.protobuf.proto_classes.ProtoMessage.set_indices ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoMessage.set_indices ``` ```` ````{py:method} create(value: type[rest_framework.serializers.BaseSerializer] | list[django_socio_grpc.protobuf.typing.FieldDict] | str | None, name: str) -> typing.Union[django_socio_grpc.protobuf.proto_classes.ProtoMessage, str] :canonical: django_socio_grpc.protobuf.proto_classes.ProtoMessage.create :classmethod: ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoMessage.create ``` ```` ````{py:method} from_field_dicts(fields: list[django_socio_grpc.protobuf.typing.FieldDict], name: str) -> django_socio_grpc.protobuf.proto_classes.ProtoMessage :canonical: django_socio_grpc.protobuf.proto_classes.ProtoMessage.from_field_dicts :classmethod: ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoMessage.from_field_dicts ``` ```` ````{py:method} from_serializer(serializer: type[rest_framework.serializers.BaseSerializer], name: str | None = None) -> django_socio_grpc.protobuf.proto_classes.ProtoMessage :canonical: django_socio_grpc.protobuf.proto_classes.ProtoMessage.from_serializer :classmethod: ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoMessage.from_serializer ``` ```` ````{py:method} skip_field(field: rest_framework.serializers.Field | rest_framework.serializers.BaseSerializer, pk_name: str) -> bool :canonical: django_socio_grpc.protobuf.proto_classes.ProtoMessage.skip_field :classmethod: ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoMessage.skip_field ``` ```` ````{py:method} __getitem__(key: str) -> django_socio_grpc.protobuf.proto_classes.ProtoField :canonical: django_socio_grpc.protobuf.proto_classes.ProtoMessage.__getitem__ ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoMessage.__getitem__ ``` ```` ````{py:method} __contains__(key: str) -> bool :canonical: django_socio_grpc.protobuf.proto_classes.ProtoMessage.__contains__ ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoMessage.__contains__ ``` ```` ````` `````{py:class} RequestProtoMessage :canonical: django_socio_grpc.protobuf.proto_classes.RequestProtoMessage Bases: {py:obj}`django_socio_grpc.protobuf.proto_classes.ProtoMessage` ````{py:attribute} suffix :canonical: django_socio_grpc.protobuf.proto_classes.RequestProtoMessage.suffix :type: typing.ClassVar :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.RequestProtoMessage.suffix ``` ```` ````{py:method} skip_field(field: rest_framework.serializers.Field | rest_framework.serializers.BaseSerializer, pk_name: str) -> bool :canonical: django_socio_grpc.protobuf.proto_classes.RequestProtoMessage.skip_field :classmethod: ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.RequestProtoMessage.skip_field ``` ```` ````` `````{py:class} ResponseProtoMessage :canonical: django_socio_grpc.protobuf.proto_classes.ResponseProtoMessage Bases: {py:obj}`django_socio_grpc.protobuf.proto_classes.ProtoMessage` ````{py:attribute} suffix :canonical: django_socio_grpc.protobuf.proto_classes.ResponseProtoMessage.suffix :type: typing.ClassVar :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ResponseProtoMessage.suffix ``` ```` ````{py:method} skip_field(field: rest_framework.serializers.Field | rest_framework.serializers.BaseSerializer, pk_name: str) -> bool :canonical: django_socio_grpc.protobuf.proto_classes.ResponseProtoMessage.skip_field :classmethod: ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ResponseProtoMessage.skip_field ``` ```` ````` ````{py:data} EmptyMessage :canonical: django_socio_grpc.protobuf.proto_classes.EmptyMessage :value: > 'ProtoMessage(...)' ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.EmptyMessage ``` ```` ````{py:data} StructMessage :canonical: django_socio_grpc.protobuf.proto_classes.StructMessage :value: > 'ProtoMessage(...)' ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.StructMessage ``` ```` `````{py:class} ProtoRpc :canonical: django_socio_grpc.protobuf.proto_classes.ProtoRpc ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoRpc ``` ````{py:attribute} name :canonical: django_socio_grpc.protobuf.proto_classes.ProtoRpc.name :type: str :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoRpc.name ``` ```` ````{py:attribute} request :canonical: django_socio_grpc.protobuf.proto_classes.ProtoRpc.request :type: django_socio_grpc.protobuf.proto_classes.ProtoMessage | str :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoRpc.request ``` ```` ````{py:attribute} response :canonical: django_socio_grpc.protobuf.proto_classes.ProtoRpc.response :type: django_socio_grpc.protobuf.proto_classes.ProtoMessage | str :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoRpc.response ``` ```` ````{py:attribute} request_stream :canonical: django_socio_grpc.protobuf.proto_classes.ProtoRpc.request_stream :type: bool :value: > False ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoRpc.request_stream ``` ```` ````{py:attribute} response_stream :canonical: django_socio_grpc.protobuf.proto_classes.ProtoRpc.response_stream :type: bool :value: > False ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoRpc.response_stream ``` ```` ````{py:property} request_name :canonical: django_socio_grpc.protobuf.proto_classes.ProtoRpc.request_name :type: str ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoRpc.request_name ``` ```` ````{py:property} response_name :canonical: django_socio_grpc.protobuf.proto_classes.ProtoRpc.response_name :type: str ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoRpc.response_name ``` ```` ````{py:method} get_all_messages() -> dict[str, django_socio_grpc.protobuf.proto_classes.ProtoMessage] :canonical: django_socio_grpc.protobuf.proto_classes.ProtoRpc.get_all_messages ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoRpc.get_all_messages ``` ```` ````` `````{py:class} ProtoService :canonical: django_socio_grpc.protobuf.proto_classes.ProtoService ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoService ``` ````{py:attribute} name :canonical: django_socio_grpc.protobuf.proto_classes.ProtoService.name :type: str :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoService.name ``` ```` ````{py:attribute} rpcs :canonical: django_socio_grpc.protobuf.proto_classes.ProtoService.rpcs :type: list[django_socio_grpc.protobuf.proto_classes.ProtoRpc] :value: > 'dataclass_field(...)' ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoService.rpcs ``` ```` ````{py:method} add_rpc(rpc: django_socio_grpc.protobuf.proto_classes.ProtoRpc) :canonical: django_socio_grpc.protobuf.proto_classes.ProtoService.add_rpc ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoService.add_rpc ``` ```` ````{py:method} get_all_messages() -> dict[str, django_socio_grpc.protobuf.proto_classes.ProtoMessage] :canonical: django_socio_grpc.protobuf.proto_classes.ProtoService.get_all_messages ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoService.get_all_messages ``` ```` ````` ````{py:function} get_proto_type(field: django.db.models.Field | rest_framework.serializers.Field, default='string') -> str :canonical: django_socio_grpc.protobuf.proto_classes.get_proto_type ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.get_proto_type ``` ```` ````{py:data} FIELDS_TO_PROTO_TYPES :canonical: django_socio_grpc.protobuf.proto_classes.FIELDS_TO_PROTO_TYPES :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.FIELDS_TO_PROTO_TYPES ``` ```` ````{py:data} PRIMITIVE_TYPES :canonical: django_socio_grpc.protobuf.proto_classes.PRIMITIVE_TYPES :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.PRIMITIVE_TYPES ``` ```` ````{py:data} TYPING_TO_PROTO_TYPES :canonical: django_socio_grpc.protobuf.proto_classes.TYPING_TO_PROTO_TYPES :value: > None ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.TYPING_TO_PROTO_TYPES ``` ```` `````{py:class} ProtoFieldConvertible :canonical: django_socio_grpc.protobuf.proto_classes.ProtoFieldConvertible Bases: {py:obj}`abc.ABC` ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoFieldConvertible ``` ````{py:method} to_proto_field(proto_field_cls: type[django_socio_grpc.protobuf.proto_classes.ProtoField], **kwargs) -> django_socio_grpc.protobuf.proto_classes.ProtoField :canonical: django_socio_grpc.protobuf.proto_classes.ProtoFieldConvertible.to_proto_field :abstractmethod: ```{autodoc2-docstring} django_socio_grpc.protobuf.proto_classes.ProtoFieldConvertible.to_proto_field ``` ```` `````