graphene-python - 在 Insomnia 中运行突变时,使用石墨烯 python 的“请求”对象没有属性“获取”错误
问题描述
我刚开始使用 Graphene SQLAlchemy。我已将石墨烯文档跟踪到 T 并成功创建了我的 GraphQL 服务器,并且我的查询很好。我继续研究我的突变,但由于缺乏对 SQLAlchemy 的文档和支持,我设法找到了一个很好的资源(根据链接)
我已经成功集成了这个要点,当我使用 Insomnia 进行测试时,我收到了这个错误:
{
"errors": [
{
"message": "'Request' object has no attribute 'get'",
"locations": [
{
"line": 2,
"column": 2
}
]
}
],
"data": {
"addCalendarYear": null
}
}
我的模型:
@dataclass
class UtilsFields():
priority = Column(Integer, default=0)
isSynced = Column(Boolean, default=False)
isDeleted = Column(Boolean, default=False)
@dataclass
class CalendarYear(Base, UtilsFields):
__tablename__ = 'tblCalendarYears'
id = Column(Integer, primary_key=True, autoincrement=True)
year = Column(String(4))
这是我用于突变的子模式:
@dataclass
class UtilsAttributes():
priority = graphene.Int(default_value=0)
isSynced = graphene.Boolean(default_value=False)
isDeleted = graphene.Boolean(default_value=False)
class CalendarYear(SQLAlchemyObjectType):
class Meta:
model = CalendarYearModel
interfaces = (relay.Node, )
class AddCalendarYearInput(SQLAlchemyInputObjectType, UtilsAttributes):
class Meta:
model = CalendarYearModel
year = graphene.String(default_value='')
class AddCalendarYear(SQLAlchemyMutation):
class Arguments:
input = graphene.Argument(AddCalendarYearInput)
class Meta:
model = CalendarYearModel
create = True
Output = CalendarYear
和一个主要模式:
class Mutate(graphene.ObjectType):
from my_schemas.calendarSchema import AddCalendarYear
addCalendarYear = AddCalendarYear.Field()
db_session = scoped_session(
sessionmaker(
autocommit=False,
autoflush=False,
bind=engine
)
)
Base = declarative_base()
Base.query = db_session.query_property()
schema = graphene.Schema(
query=Query,
mutation=Mutate,
types=[
CalendarYear
]
)
schema.execute(context_value={'session': db_session})
这是我在失眠症中的突变:
mutation addYear {
addCalendarYear(input: {year: "2018"}) {
priority
year
isSynced
isDeleted
}
}
我想知道我是否错过了什么。任何帮助是极大的赞赏。TIA。
解决方案
推荐阅读
- javascript - 在JS / node /moment中检查某个日期的午夜和当前时刻之间的间隔
- python - Django-Oscar 没有这样的表:删除订单时的 main.customer_communicationeventtype
- html - 更改特定选定选项的样式
- javascript - Next.js 9.5,_app 中的全局 scss 抛出错误
- xamarin - Autofac Exception Autofac.Core.DependencyResolutionException 解析依赖项时
- flutter - 无法重命名目录,因为在颤动中访问被拒绝
- react-native - 使用放大通知在通知上显示图像(React Native)
- java - 检查是否在java android studio中的String中找到字符串
- python - python如何存储超出范围的整数?
- r - 箱线图 - 在一个箱线图中按两组显示相同的数据