mirror of
https://github.com/graphql-python/graphene.git
synced 2025-02-13 10:00:39 +03:00
start implement custom identifier
This commit is contained in:
parent
8497e0c4e0
commit
efa67fa1db
|
@ -10,6 +10,7 @@ class SQLAlchemyOptions(ObjectTypeOptions):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super(SQLAlchemyOptions, self).__init__(*args, **kwargs)
|
super(SQLAlchemyOptions, self).__init__(*args, **kwargs)
|
||||||
self.model = None
|
self.model = None
|
||||||
|
self.identifier = None
|
||||||
self.valid_attrs += VALID_ATTRS
|
self.valid_attrs += VALID_ATTRS
|
||||||
self.only_fields = None
|
self.only_fields = None
|
||||||
self.exclude_fields = []
|
self.exclude_fields = []
|
||||||
|
|
|
@ -113,8 +113,9 @@ class SQLAlchemyNode(six.with_metaclass(
|
||||||
def get_node(cls, id, info=None):
|
def get_node(cls, id, info=None):
|
||||||
try:
|
try:
|
||||||
model = cls._meta.model
|
model = cls._meta.model
|
||||||
|
identifier = cls._meta.identifier or "id"
|
||||||
query = get_query(model, info)
|
query = get_query(model, info)
|
||||||
instance = query.filter(model.id == id).one()
|
instance = query.filter(getattr(model, identifier) == id).one()
|
||||||
return cls(instance)
|
return cls(instance)
|
||||||
except NoResultFound:
|
except NoResultFound:
|
||||||
return None
|
return None
|
||||||
|
|
Loading…
Reference in New Issue
Block a user