У меня проблемы с выполнением запросов и созданием / обновлением / удалением вещей в django graphql через плагин graphql для vuex orm.
Благодаря интерфейсу, предоставленному django для выполнения запросов, я могу отлично использовать свои мутации и обращаться к любым конкретным данным или к любой их коллекции.
Я собираюсь написать пример того, как я создаю объект с именем «TipoProducto» из интерфейса django:
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:
import {Model} из '@ vuex-orm / core';
Импорт продукта из ./Product'
экспорт по умолчанию класса TipProd расширяет Model {
статическая сущность = "tipProds"
static fields () {
return {
id: this.increment(),
nombre: this.attr(''),
descripcion: this.attr(''),
producto: this.hasMany(Product, 'tipProd_id')
}
}
}
Этот метод я пытаюсь использовать для создания нового объекта "ТипоПродукто":
methods: {
async register (tipProduct) {
await TipProd.insert({
data:
tipProduct
});
const tipProd = TipProd.query().last()
await tipProd.$mutate({ name: 'createTipoProducto' });
}
где данные: tipProducto - атрибуты, взятые из формы
Не могу найти способ, чтобы vuex orm правильно структурировал запрос для создания объекта. Что я делаю не так?
Я не заставлял apollo devtools работать для отладки выхода vuex-orm. Я понятия не имею, как создается запрос.
Извините за английский и спасибо.