如何在Django / Elasticsearch / MySQL后端上构建GraphQL API?

我正在研究开发GraphQL API.我有一个django / elasticsearch / mysql后端,我正在弄清楚GraphQL如何适应这张图片.

我在阅读关于graphene-django项目的文章,但它似乎与Django ORM紧密结合,所以我想知道弹性搜索是否适合这个配方.

我刚刚开始这项研究,所以即使这个问题也没有意义.

关于如何做到这一点的任何线索?

解决方法:

石墨烯是python的通用GraphQL服务器实现.
使用石墨烯,您可以构建图形数据的表示,并从任何地方查询它(MySQL,ElasticSearch,Mongo,等等) – 每个字段的值基本上由解析器函数解析,该函数可以从任何需要的地方读取数据.

graphene-django只是石墨烯的一个扩展,可以自动包装django ORM并让您轻松地将django ORM对象作为模式的一部分公开,而无需经历定义重新定义ORM模型中已定义的所有对象和字段的麻烦.

但是,它不限制您仅使用django ORM.
您可以在GraphQL架构中的关系中包含许多对象,某些对象可以对抗django ORM,而其他对象可以从ElasticSearch或您存储数据的任何其他位置读取.

我建议你观看这个简短的视频,作为如何开始编写GraphQL服务器 – https://www.youtube.com/watch?v=UBGzsb2UkeY的介绍
然后前往http://graphene-python.org并查看文档.

上一篇:【Rust日报】 2019-06-11:Rust 官网简体中文翻译已经完成了一个里程碑


下一篇:GraphQL Java - Schema