2017-09-29 38 views
1

我想知道是否有可能通过查询获取对象的“原始ID”。每当我向服务器发出请求时,都会返回节点“全局标识符”,如U29saWNpdGFjYW9UeXBlOjEzNTkxOA==在GraphQL中检索对象ID

查询是类似这样的:

{ 
    allPatients(active: true) { 
    edges { 
     cursor 
     node { 
     id 
     state 
     name 
     } 
    } 
    } 

和回报是:

{ 
    "data": { 
     "edges": [ 
     { 
      "cursor": "YXJyYXljb25uZWN0aW9uOjA=", 
      "node": { 
      "id": "U29saWNpdGFjYW9UeXBlOjEzNTkxOA==", 
      "state": "ARI", 
      "name": "Brad" 
      } 
     } 
     ] 
    } 
} 

我怎样才能在数据库级别对象的“原始”的ID(如“ 112')而不是那个节点的唯一标识符?

ps .:我在服务器端使用graphene-python和Relay。

回答

0

this GitHub issuegraphene的作者syrusakbary建议有有效的在你的数据库的映射表来跟踪这个映射:

通常用于映射这种随机ID的输入+号是非常有用的一个“效用表“存储对应于每个”UUID“的表/类型。

这是在版本1.0中,可见于this unit test

对于您的具体情况,您可能会经常向您的类型添加另一个字段,其他字段为id,或许是db_idoriginal_id

+0

如何使用这个新字段'original_id'来引用模型ID? – almanegra