我几乎花了 3 天时间才找到在 python 石墨烯中创建动态模式的方法。我能找到的唯一相关结果是以下链接:https : //github.com/graphql-python/graphene/blob/master/graphene/types/dynamic.py 但我找不到任何相关文档。
整个想法是创建一个动态模式。我想提供一个与 GraphQL 兼容的 API,即使模型没有在代码中定义,用户也可以查询我的内容。换句话说,我想即时创建模型。我不知道该怎么办。
如果你能提供一个例子,那将是一个很大的帮助。
更新 :
我的项目是一个无头 CMS,它具有用户可以创建自己的内容类型的功能,我想提供一个 GraphQL 界面,让一切变得更简单、更灵活。
这是我在 DB 中的内容类型的示例:
{
"id": "author",
"name": "Book Author",
"desc": "",
"options":[
{
"id": "author_faname",
"label": "Sample Sample",
"type": "text",
"required": true,
"placeholder":"One Two Three Four"
},
{
"id": "author_enname",
"label": "Sample label",
"type": "text",
"required": true,
"placeholder":"Sample Placeholder"
}
]
}
Run Code Online (Sandbox Code Playgroud)
这是基于该内容类型在数据库中存储的内容:
{
"id": "9rqgbrox10",
"content_type": "author",
"data":{
"author_fname":"Jimmy",
"author_ename":"Hello"
}
}
Run Code Online (Sandbox Code Playgroud)
现在因为我的模型没有在代码中声明并且它们完全在数据库中,我想即时制作我的模式,我不知道什么是最好的解决方案。我知道应该有一种方法,因为其他 Headless CMS 项目正在提供这种方法。
提前致谢!