Как запросить обнуляемые данные, которые содержат ненулевые поля через GraphQL? - PullRequest
0 голосов
/ 24 июня 2018

Допустим, у меня есть данные, структурированные следующим образом:

house: {
    id: Int,
    address: String,
    neighborhood (Foreign Key, Nullable): {
        id: Int,
        name: String,
        city (Foreign Key, Nonnull): {
            id: Int (Nonnull)
            name: String
        }
    }
}

и я создаю следующий запрос:

{
    homes {
        house {
            id
            address
            neighborhood {
                id
                name
                city {
                    id
                    name
                }
            }
        }
    }
}

GraphQL (интерфейс React Apollo, сервер Graphene + Django) жалуется, что я пытаюсь вернуть ноль для ненулевого city.id при попытке выполнить этот запрос. Это происходит специально для домов, которые не имеют окрестности (и, в свою очередь, не имеют города), поэтому он пытается вернуть city.id как ноль, когда он не должен в действительности проникнуть глубоко в структуру данных, поскольку родительская окрестность равна нулю.

Я пытаюсь получить действительные данные о районе (включая город), когда они доступны, и null район, когда их нет. Какой подход к этому подходит?

1 Ответ

0 голосов
/ 11 июля 2018

У меня была проблема с данными в моей базе данных. Приведенный выше запрос работает как нужно, но у меня есть некоторые поврежденные данные, которые не позволяют успешно завершить запрос.

Мне удалось отладить это с помощью https://github.com/graphql/graphiql, что позволило мне быстро выполнять запросы GQL, помогая мне точно определить, какое поле данных вызывало мою ошибку.

...