Как изменить имя поля DjangoObjectType на данных ответа - PullRequest
0 голосов
/ 08 июля 2019

Сейчас у меня есть модель django.

class MyModel(models.Model, GetMixin):

    logo_url = models.URLField()

И я прикрепил ее до DjangoObjectType.

class MyModelType(DjangoObjectType):

    class Meta:
        model = MyModel

Теперь мне нужно изменить имя поля logo_urlответ должен выглядеть следующим образом --logo-url вместо logoUrl, поэтому я могу получить желаемый результат.

{
    "data": {
        "myData": {
            "site": {
                "--logo-url": "https://www.company.com/logo.png"
            }
        }
    }
}

ОБНОВЛЕНИЯ

Эта функция очень сложна длядостичь!Мне удалось расширить мета-объектный тип и успешно составить желаемую структуру имени поля, но стандарт графена не позволил мне сделать это:

AssertionError: Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but "--logo-url"
does not.

1 Ответ

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

Вы пытаетесь изменить схему, чтобы использовать символы, которые не разрешены в GraphQL. Графен поднимает AssertionError, потому что он следует стандарту graphQL.

См. Специальные символы в схеме GraphQL

...