mirror of
https://github.com/graphql-python/graphene.git
synced 2025-02-17 03:50:44 +03:00
Get rid of memoize in all field definitions. Improved #15
This commit is contained in:
parent
842103d8f7
commit
7d5987742a
|
@ -4,9 +4,7 @@ from graphene.core.fields import (
|
||||||
from graphene import relay
|
from graphene import relay
|
||||||
|
|
||||||
from graphene.core.fields import Field, LazyField
|
from graphene.core.fields import Field, LazyField
|
||||||
from graphene.utils import cached_property, memoize, LazyMap
|
|
||||||
|
|
||||||
from graphene.relay.types import BaseNode
|
|
||||||
from graphene.relay.utils import is_node
|
from graphene.relay.utils import is_node
|
||||||
from graphene.contrib.django.utils import get_type_for_model, lazy_map
|
from graphene.contrib.django.utils import get_type_for_model, lazy_map
|
||||||
|
|
||||||
|
@ -25,7 +23,6 @@ class LazyListField(ListField):
|
||||||
|
|
||||||
|
|
||||||
class ConnectionOrListField(LazyField):
|
class ConnectionOrListField(LazyField):
|
||||||
@memoize
|
|
||||||
def get_field(self, schema):
|
def get_field(self, schema):
|
||||||
model_field = self.field_type
|
model_field = self.field_type
|
||||||
field_object_type = model_field.get_object_type(schema)
|
field_object_type = model_field.get_object_type(schema)
|
||||||
|
@ -52,7 +49,6 @@ class DjangoModelField(Field):
|
||||||
))
|
))
|
||||||
return _type(resolved)
|
return _type(resolved)
|
||||||
|
|
||||||
@memoize
|
|
||||||
def internal_type(self, schema):
|
def internal_type(self, schema):
|
||||||
_type = self.get_object_type(schema)
|
_type = self.get_object_type(schema)
|
||||||
if not _type and self.object_type._meta.only_fields:
|
if not _type and self.object_type._meta.only_fields:
|
||||||
|
|
|
@ -2,10 +2,9 @@ from django.db import models
|
||||||
from django.db.models.query import QuerySet
|
from django.db.models.query import QuerySet
|
||||||
from django.db.models.manager import Manager
|
from django.db.models.manager import Manager
|
||||||
|
|
||||||
from graphene.utils import memoize, LazyMap
|
from graphene.utils import LazyMap
|
||||||
|
|
||||||
|
|
||||||
# @memoize
|
|
||||||
def get_type_for_model(schema, model):
|
def get_type_for_model(schema, model):
|
||||||
schema = schema
|
schema = schema
|
||||||
types = schema.types.values()
|
types = schema.types.values()
|
||||||
|
|
|
@ -12,7 +12,7 @@ from graphql.core.type import (
|
||||||
GraphQLArgument,
|
GraphQLArgument,
|
||||||
GraphQLFloat,
|
GraphQLFloat,
|
||||||
)
|
)
|
||||||
from graphene.utils import memoize, to_camel_case
|
from graphene.utils import to_camel_case
|
||||||
from graphene.core.types import BaseObjectType
|
from graphene.core.types import BaseObjectType
|
||||||
from graphene.core.scalars import GraphQLSkipField
|
from graphene.core.scalars import GraphQLSkipField
|
||||||
|
|
||||||
|
@ -57,7 +57,6 @@ class Field(object):
|
||||||
else:
|
else:
|
||||||
return getattr(instance, self.field_name, None)
|
return getattr(instance, self.field_name, None)
|
||||||
|
|
||||||
@memoize
|
|
||||||
def get_resolve_fn(self):
|
def get_resolve_fn(self):
|
||||||
if self.resolve_fn:
|
if self.resolve_fn:
|
||||||
return self.resolve_fn
|
return self.resolve_fn
|
||||||
|
@ -103,7 +102,6 @@ class Field(object):
|
||||||
field_type = self.type_wrapper(field_type)
|
field_type = self.type_wrapper(field_type)
|
||||||
return field_type
|
return field_type
|
||||||
|
|
||||||
@memoize
|
|
||||||
def internal_field(self, schema):
|
def internal_field(self, schema):
|
||||||
if not self.object_type:
|
if not self.object_type:
|
||||||
raise Exception(
|
raise Exception(
|
||||||
|
@ -193,18 +191,15 @@ class NativeField(Field):
|
||||||
def get_field(self, schema):
|
def get_field(self, schema):
|
||||||
return self.field
|
return self.field
|
||||||
|
|
||||||
@memoize
|
|
||||||
def internal_field(self, schema):
|
def internal_field(self, schema):
|
||||||
return self.get_field(schema)
|
return self.get_field(schema)
|
||||||
|
|
||||||
@memoize
|
|
||||||
def internal_type(self, schema):
|
def internal_type(self, schema):
|
||||||
return self.internal_field(schema).type
|
return self.internal_field(schema).type
|
||||||
|
|
||||||
|
|
||||||
class LazyField(Field):
|
class LazyField(Field):
|
||||||
|
|
||||||
@memoize
|
|
||||||
def inner_field(self, schema):
|
def inner_field(self, schema):
|
||||||
return self.get_field(schema)
|
return self.get_field(schema)
|
||||||
|
|
||||||
|
@ -224,11 +219,9 @@ class LazyNativeField(NativeField):
|
||||||
raise NotImplementedError(
|
raise NotImplementedError(
|
||||||
"get_field function not implemented for %s LazyField" % self.__class__)
|
"get_field function not implemented for %s LazyField" % self.__class__)
|
||||||
|
|
||||||
@memoize
|
|
||||||
def internal_field(self, schema):
|
def internal_field(self, schema):
|
||||||
return self.get_field(schema)
|
return self.get_field(schema)
|
||||||
|
|
||||||
@memoize
|
|
||||||
def internal_type(self, schema):
|
def internal_type(self, schema):
|
||||||
return self.internal_field(schema).type
|
return self.internal_field(schema).type
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,6 @@ from graphql.core.type import (
|
||||||
)
|
)
|
||||||
|
|
||||||
from graphene.core.fields import Field, IDField
|
from graphene.core.fields import Field, IDField
|
||||||
from graphene.utils import memoize
|
|
||||||
|
|
||||||
|
|
||||||
class ConnectionField(Field):
|
class ConnectionField(Field):
|
||||||
|
@ -51,17 +50,14 @@ class ConnectionField(Field):
|
||||||
connection.set_connection_data(resolved)
|
connection.set_connection_data(resolved)
|
||||||
return connection
|
return connection
|
||||||
|
|
||||||
@memoize
|
|
||||||
def get_connection_type(self, node):
|
def get_connection_type(self, node):
|
||||||
connection_type = self.connection_type or node.get_connection_type()
|
connection_type = self.connection_type or node.get_connection_type()
|
||||||
edge_type = self.get_edge_type(node)
|
edge_type = self.get_edge_type(node)
|
||||||
return connection_type.for_node(node, edge_type=edge_type)
|
return connection_type.for_node(node, edge_type=edge_type)
|
||||||
|
|
||||||
@memoize
|
|
||||||
def get_edge_type(self, node):
|
def get_edge_type(self, node):
|
||||||
return self.edge_type or node.get_edge_type()
|
return self.edge_type or node.get_edge_type()
|
||||||
|
|
||||||
@memoize
|
|
||||||
def internal_type(self, schema):
|
def internal_type(self, schema):
|
||||||
from graphene.relay.utils import is_node
|
from graphene.relay.utils import is_node
|
||||||
node = self.get_object_type(schema)
|
node = self.get_object_type(schema)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user