Real world Graphene: lessons learned from building a GraphQL API on top of a large Django project
2019-06-03, 14:00–14:25, Hall 3

In this talk, I want to share experiences of migrating from a standard Django architecture to a GraphQL-based app using Graphene framework, including keeping consistency in the implementation and shape of API, common API design issues and pitfalls.


Graphene is currently the most popular framework for building GraphQL in Python and it's also an obvious choice for many people who decide on adding a GraphQL layer to their Django applications. After using it for over a year we've successfully built an API with about 50 queries and over 100 mutations on top of existing Django project (Saleor), but we've also learned many hard lessons and discovered shortcomings of the framework that we had to overcome.

In this talk, I'd like to show practical tips on some of the most common problems that a Django developer has to face to build an optimized and maintainable API with Graphene e.g.:

  • using useful abstractions to build queries and mutations faster
  • optimizing database queries in a graph
  • structuring a large Graphene project
  • unified error handling

Apart from that, I'd like to bring up a few limitations of the framework that we didn't know about before we used it. Finally, I'd like to summarize with speaking about the most important benefits that adoption of GraphQL brings to modern web applications development - both for backend and frontend.