Передать массив ссылок в мутации [graphene / python / graphql]

Меня немного смущает использование графена. Я использую пример мутаций на https://www.howtographql.com/graphql-python/3-mutations/, но здесь показан только пример, как создать ОДНУ ссылку. Теперь для меня более реалистично, что у вас есть список ссылок или других объектов, которые вы передаете в свой бэкэнд, а затем в базу данных. Есть кто-нибудь, кто уже реализовал такой пример?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
15
1

Ответы 1

Я взял другой пример из https://docs.graphene-python.org/en/latest/types/mutations/#inputfields-and-inputobjecttypes. Приведенный ниже фрагмент кода должен помочь вам в создании нескольких экземпляров в одной мутации.

import graphene
from .models import Person

class PersonInput(graphene.InputObjectType):
    name = graphene.String(required=True)
    age = graphene.Int(required=True)

class PersonType(DjangoObjectType):
    class Meta:
        model = Person

class CreatePerson(graphene.Mutation):
    class Arguments:
        person_objects = graphene.List(PersonInput, required=True)

    persons = graphene.List(PersonType)

    def mutate(root, info, person_objects):
        persons = list()
    
        for person_data in person_objects:
            person = Person.objects.create(
                name=person_data.name,
                age=person_data.age
            )
            persons.append(person)
    
        return CreatePerson(persons=persons)

мутация:

createPerson(personObjects: [{name: "testing multiple instance creation in single mutation" age:28}, {name: "testing multiple instance creation in single MUTATIONS" age:29}]){
    persons{
      name
      age
    }
  }

Другие вопросы по теме