Не работают специфические для клубничного Django запросы Graphql, кроме pk

У меня проблемы с созданием специфических запросов с помощью библиотеки Strawberry. Допустим, у меня есть две модели Django:

class Address(models.Model):
    name = models.CharField()

class Person(models.Model):
    name = models.CharField()
    address = models.ForeignKey('Address', on_delete=models.CASCADE, blank=False, null=False)

с моим type.py файлом:

@strawberry.django.type(models.Address)
class Address:
    id: auto
    name:auto

@strawberry.django.input(models.Address)
class AddressInput:
    id: auto
    name:auto

@strawberry.django.type(models.Person)
class Person:
    id: auto
    name: auto
    address:'Address'

@strawberry.django.input(models.Person)
class Person:
    id: auto
    name: auto
    address:'AddressInput'

и schema.py:

@strawberry.type
class Query:
    address: Address = strawberry.django.field()
    addresses: List[Address] = strawberry.django.field()
    person: Person = strawberry.django.field()
    persons: List[Person] = strawberry.django.field()

schema = strawberry.Schema(query=Query)

В терминале graphiql, если я хочу получить id для Person, это работает нормально:

#Query
query MyQuery {
  person(pk: "1") {
    address {
      id
      name
    }
    id
    name
  }
}

#Return value

{
  "data": {
    "person": {
      "address": {
        "id": "1",
        "name": "Compound"
      },
      "id": "1",
      "name": "William"
    }
  }
}

Но если я пытаюсь искать по идентификатору адреса или имени человека, это не работает. Все следующие запросы не работают

query MyQuery {
  person(name: "William") {
    address {
      id
      name
    }
    id
    name
  }
}

query MyQuery {
  person(data: {name: "William"}) {
    address {
      id
      name
    }
    id
    name
  }
}

query MyQuery {
  person(address: {id: "1"}) {
    address {
      id
      name
    }
    id
    name
  }
}

query MyQuery {
  person(data: {address: {id: "1"}}) {
    address {
      id
      name
    }
    id
    name
  }
}

Выдает эту ошибку:

{
  "data": null,
  "errors": [
    {
      "message": "Unknown argument 'title' on field 'Query.person'.",
      "locations": [
        {
          "line": 2,
          "column": 10
        }
      ]
    }
  ]
}

Я предполагаю, что проблема связана с тем, что strawberry.django.field() в Schema.py ограничивает поля только идентификатором (pk). Есть ли способ исправить это?

Вернуться на верх