我想知道是否有可能获得对象的“原始id”作为查询的结果.每当我向服务器发出请求时,它都会返回节点“全局标识符”,例如U29saWNpdGFjYW9UeXBlOjEzNTkxOA ==.
该查询与此类似:
{
allPatients(active: true) {
edges {
cursor
node {
id
state
name
}
}
}
而回报是:
{
"data": {
"edges": [
{
"cursor": "YXJyYXljb25uZWN0aW9uOjA=",
"node": {
"id": "U29saWNpdGFjYW9UeXBlOjEzNTkxOA==",
"state": "ARI",
"name": "Brad"
}
}
]
}
}
如何在数据库级别(例如’112′)获取对象的“原始”id而不是该节点唯一标识符?
ps.:我在服务器端使用graphene-python和Relay.
解决方法:
第一个选项,删除relay.Node作为objectNode声明的接口.
第二个选项,使用自定义resolve_id fonction返回id原始值.
例
class objectNode(djangoObjectType):
.... Meta ....
id = graphene.Int(source="id")
def resolve_id("commons args ...."):
return self.id
希望能帮助到你