# Buggy code
def _extend_query_type(self):
    @type(name="_Service")
    class Service:
        sdl: str

    Any = GraphQLScalarType("_Any")

    fields = {
        "_service": GraphQLField(
            GraphQLNonNull(Service.graphql_type),
            resolve=lambda _, info: Service(sdl=print_schema(info.schema)),
        )
    }

    entities_type = self._get_entity_type()

    if entities_type:
        self.type_map[entities_type.name] = entities_type

        fields["_entities"] = GraphQLField(
            GraphQLNonNull(GraphQLList(entities_type)),
            args={"representations": GraphQLNonNull(GraphQLList(GraphQLNonNull(Any)))},
            resolve=entities_resolver,
        )

    fields.update(self.query_type.fields)

    self.query_type = GraphQLObjectType(
        name=self.query_type.name,
        description=self.query_type.description,
        fields=fields,
    )

    self.type_map["_Any"] = Any
    self.type_map["_Service"] = Service.graphql_type
    self.type_map[self.query_type.name] = self.query_type


# Traceback (AttributeError)
Traceback (most recent call last):
File "/home/ignormies/.local/share/virtualenvs/gql-bf-XGX4szKA-py3.8/lib/python3.8/site-packages/graphql/type/definition.py", line 735, in fields
fields = resolve_thunk(self._fields)
File "/home/ignormies/.local/share/virtualenvs/gql-bf-XGX4szKA-py3.8/lib/python3.8/site-packages/graphql/type/definition.py", line 293, in resolve_thunk
return thunk() if callable(thunk) else thunk
File "/home/ignormies/.local/share/virtualenvs/gql-bf-XGX4szKA-py3.8/lib/python3.8/site-packages/strawberry/type.py", line 133, in <lambda>
lambda types_replacement_map=None: _get_fields(wrapped, types_replacement_map),
File "/home/ignormies/.local/share/virtualenvs/gql-bf-XGX4szKA-py3.8/lib/python3.8/site-packages/strawberry/type.py", line 76, in _get_fields
fields[field_name] = field(
File "/home/ignormies/.local/share/virtualenvs/gql-bf-XGX4szKA-py3.8/lib/python3.8/site-packages/strawberry/field.py", line 315, in field
return field(wrap)
File "/home/ignormies/.local/share/virtualenvs/gql-bf-XGX4szKA-py3.8/lib/python3.8/site-packages/strawberry/field.py", line 171, in __call__
setattr(wrap, IS_STRAWBERRY_FIELD, True)
AttributeError: 'method' object has no attribute '_is_strawberry_field'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/ignormies/.config/JetBrains/PyCharm2020.1/scratches/scratch_7.py", line 30, in <module>
schema = strawberry.Schema(query=Query)
File "/home/ignormies/.local/share/virtualenvs/gql-bf-XGX4szKA-py3.8/lib/python3.8/site-packages/strawberry/schema.py", line 25, in __init__
super().__init__(
File "/home/ignormies/.local/share/virtualenvs/gql-bf-XGX4szKA-py3.8/lib/python3.8/site-packages/graphql/type/schema.py", line 205, in __init__
collect_referenced_types(query)
File "/home/ignormies/.local/share/virtualenvs/gql-bf-XGX4szKA-py3.8/lib/python3.8/site-packages/graphql/type/schema.py", line 382, in collect_referenced_types
for field in named_type.fields.values():
File "/usr/lib/python3.8/functools.py", line 967, in __get__
val = self.func(instance)
File "/home/ignormies/.local/share/virtualenvs/gql-bf-XGX4szKA-py3.8/lib/python3.8/site-packages/graphql/type/definition.py", line 737, in fields
raise TypeError(f"{self.name} fields cannot be resolved. {error}")
TypeError: Query fields cannot be resolved. 'method' object has no attribute '_is_strawberry_field'

Process finished with exit code 1

# Fixed code
def _extend_query_type(self):
    fields = {"_service": self._service_field}

    entity_type = _get_entity_type(self.type_map)

    if entity_type:
        self._schema.type_map[entity_type.name] = entity_type

        fields["_entities"] = self._get_entities_field(entity_type)

    fields.update(self._schema.query_type.fields)

    self._schema.query_type = GraphQLObjectType(
        name=self._schema.query_type.name,
        description=self._schema.query_type.description,
        fields=fields,
    )

    self._schema.type_map["_Service"] = self._service_type
    self._schema.type_map[self._schema.query_type.name] = self._schema.query_type