问题描述
我有以下查询,该查询针对具有显示ID(使用sqlalchemy)的商店进行过滤:
{
shop(id: "mydevappstore") {
id
}
}
产生以下结果。我希望ID与上述相同:
{
"data": {
"shop": {
"id": "U2hvcDpteWRldmFwcHN0b3Jl"
}
}
}
我不明白为什么会发生这种情况(也在Graphene教程中)以及如何解决。
sqlalchemy_and_graphene.py是
Base = declarative_base()
class ShopModel(Base):
__tablename__ = 'shop'
id = Column(String(128),primary_key=True)
class Shop(sqlAlchemyObjectType):
class Meta:
model = ShopModel
interfaces = (relay.Node,)
解决方法
您需要借助 id
参数明确指定source
字段
import graphene
from graphene_sqlalchemy import SQLAlchemyObjectType
class Shop(SQLAlchemyObjectType):
any_name = graphene.String(source='id')
class Meta:
model = ShopModel
interfaces = (relay.Node,)