我在django graphql中通过vuex orm的graphql插件进行查询和创建/更新/删除内容时遇到了问题。
从django提供的执行查询的接口中,我可以完美地使用我的突变,并查询任何特定的数据或它们的任何集合。
我将编写一个示例,说明如何从django接口创建一个名为"TipoProducto“的对象:
mutation myMutation {
createTipoProducto(input: {nombre:"Pizza", descripcion:"foobar"}) {
tipoProducto {nombre, descripcion}
status
}
}此代码将返回对象及其属性,如果成功,则返回状态200。
模式中的Django类:
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“
static fields () {
return {
id: this.increment(),
nombre: this.attr(''),
descripcion: this.attr(''),
producto: this.hasMany(Product, 'tipProd_id')
}
}
}这是我尝试用来创建一个新对象“TipoProducto”的方法:
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工作的。我不知道查询是如何创建的。
我很抱歉说英语,谢谢你。
发布于 2019-03-27 22:38:27
结构很好,我看不到查询,因为没有查询,我失败了Django Graphene和Vuex-ORM Graphql插件之间的连接,因为API端有糟糕的定义突变。
https://stackoverflow.com/questions/55186882
复制相似问题