首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在vuex orm graphql中构造一个突变以连接django graphql后端

如何在vuex orm graphql中构造一个突变以连接django graphql后端
EN

Stack Overflow用户
提问于 2019-03-16 00:26:22
回答 1查看 339关注 0票数 0

我在django graphql中通过vuex orm的graphql插件进行查询和创建/更新/删除内容时遇到了问题。

从django提供的执行查询的接口中,我可以完美地使用我的突变,并查询任何特定的数据或它们的任何集合。

我将编写一个示例,说明如何从django接口创建一个名为"TipoProducto“的对象:

代码语言:javascript
复制
mutation myMutation {
createTipoProducto(input: {nombre:"Pizza", descripcion:"foobar"}) {
    tipoProducto {nombre, descripcion}
    status
}
}

此代码将返回对象及其属性,如果成功,则返回状态200。

模式中的Django类:

代码语言:javascript
复制
class TipoProductoNode(DjangoObjectType):
    class Meta:
        model = TipoProducto
        filter_fields = ['nombre', 'productos']
        interfaces = (relay.Node, )

class TipoProducto(graphene.ObjectType):
    nombre = graphene.String()
    descripcion = graphene.String()

class CreateTipoProducto(graphene.ClientIDMutation):

    class Input:
        nombre = graphene.String(required=True)
        descripcion = graphene.String(required=True)

    tipo_producto = graphene.Field(TipoProducto)
    status = graphene.Int()
    ok = graphene.Boolean()

    def mutate_and_get_payload(self, info, nombre, descripcion, client_id_mutation=None):
    tipo_producto = TipoProductoNode._meta.model(nombre=nombre, descripcion=descripcion)
    tipo_producto.save()
    return CreateTipoProducto(tipo_producto=tipo_producto, ok=bool(tipo_producto.id), status=200)

我的vuex orm模型:

从‘@vuex-orm/core’导入{ Model };从'./ Product‘导入产品

导出默认类静态扩展模型{ TipProd entity = "tipProds“

代码语言:javascript
复制
static fields () {
    return {
        id: this.increment(),
        nombre: this.attr(''),
        descripcion: this.attr(''),

        producto: this.hasMany(Product, 'tipProd_id')
        }
    }
}

这是我尝试用来创建一个新对象“TipoProducto”的方法:

代码语言:javascript
复制
methods: {
         async register (tipProduct) {
            await TipProd.insert({
                data: 
                    tipProduct         
            });
            const tipProd = TipProd.query().last()
            await tipProd.$mutate({ name: 'createTipoProducto' });
}

其中,data: tipProducto是从表单中获取的属性

我找不到vuex orm正确构造查询以创建对象的方式。我做错了什么?

我不是为了调试vuex-orm的出口而让apollo devtools工作的。我不知道查询是如何创建的。

我很抱歉说英语,谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-27 22:38:27

结构很好,我看不到查询,因为没有查询,我失败了Django Graphene和Vuex-ORM Graphql插件之间的连接,因为API端有糟糕的定义突变。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55186882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档