start implement custom identifier

This commit is contained in:
karec 2016-04-12 22:24:12 +02:00
parent 8497e0c4e0
commit efa67fa1db
2 changed files with 3 additions and 1 deletions

View File

@ -10,6 +10,7 @@ class SQLAlchemyOptions(ObjectTypeOptions):
def __init__(self, *args, **kwargs):
super(SQLAlchemyOptions, self).__init__(*args, **kwargs)
self.model = None
self.identifier = None
self.valid_attrs += VALID_ATTRS
self.only_fields = None
self.exclude_fields = []

View File

@ -113,8 +113,9 @@ class SQLAlchemyNode(six.with_metaclass(
def get_node(cls, id, info=None):
try:
model = cls._meta.model
identifier = cls._meta.identifier or "id"
query = get_query(model, info)
instance = query.filter(model.id == id).one()
instance = query.filter(getattr(model, identifier) == id).one()
return cls(instance)
except NoResultFound:
return None