小编Sor*_*ami的帖子

在运行时石墨烯上创建动态模式

我几乎花了 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 项目正在提供这种方法。

提前致谢!

python graphql graphene-python

9
推荐指数
1
解决办法
3511
查看次数

标签 统计

graphene-python ×1

graphql ×1

python ×1