【问题标题】:Query multiple models in Graphene Django在 Graphene Django 中查询多个模型
【发布时间】:2021-09-24 04:33:08
【问题描述】:

我在 Django 中有多个模型,名为 model1model2model3。 每个模型都有相同的字段,字段id 是主键。 我想使用 GraphQL 查询这个数据库。查询结构应如下所示。

query{
      pod(model: "model1",id: "1")
        {
           id
           data1
           data2
        }
     }

这应该让我从模型 1 中获取 id 1 的对象。 如何在 Django 中使用 Graphene 做到这一点?

【问题讨论】:

    标签: django graphql graphene-django graphql-python


    【解决方案1】:

    为您的模型创建一个地图,以及您希望如何从您的 graphql 查询中访问它。这样做:

    def resolve_pod(self, root, info, model, id):
        model_map = {'model1': Model1, 'model2': Model2, 'model3': Model3}
        if model in model_map.keys():
            return model_map[model].objects.get(id=1)
        return None    
    
    

    【讨论】:

    • 我应该如何为此设计类型类?
    • 这取决于,此模型的字段是否都相同?如果他们有专业领域,您可以创建一个UnionType
    • 这件事我已经完成了。问题是在 GraphQL 中使用 UnionType。谢谢@JechChua
    猜你喜欢
    • 2020-05-19
    • 2019-10-31
    • 1970-01-01
    • 2019-08-28
    • 2022-07-10
    • 1970-01-01
    • 2017-08-15
    • 2011-05-03
    • 2019-07-05
    相关资源
    最近更新 更多