Django Graphene скрывает поле модели (или возвращает null) на основе предпочтений пользователя в ManyToMany

предположим, что у нас есть следующие модели Django Models:

class Person(models.Model):
    name = models.CharField(max_length=255)
    personal_field = models.CharField(max_length=255)

class Group(models.Model):
    name = models.CharField(max_length=255)
    participants = models.ManyToManyField(
        "Person",
        through="GroupPersonOption",
        through_fields=('group', 'person')
    )

class GroupPersonOption(models.Model):
    person = models.ForeignKey("Person", on_delete=models.CASCADE)
    group = models.ForeignKey("Group", on_delete=models.CASCADE)
    hide_personal_field = models.BooleanField(default=False)

Пример: На основании группы, в которой состоит пользователь, он может выбрать скрытие своего поля personal_field, так что вместо обычного значения будет возвращаться None или Null. Человек может установить это в модели ManyToMany под названием GroupPersonOption

Здесь возникает сложность: . Как мне изменить его значение на None в моем DjangoObjectTypes? Когда я пытаюсь добавить функцию resolve для поля personal_field в PersonObjectType, я не знаю, хотел ли пользователь скрыть эту информацию.

Код графена:

{
   peopleByGroup(name: "DjangoIsAwesome") {
       person {
           name
           personal_field
       }
    }
 }

Я прождал несколько дней в Django Subreddit, но единственное решение, которое предложил один человек, это просто игнорировать установку personal_field в None на основе некоторого значения и затем скрыть его во фронтенде, однако это неприемлемое решение, так как это раскрывает данные пользователя.

Я также пробовал добавить функцию resolve_person к PersonEventOptionType, но это многое сломало, поскольку я не смог найти пример разрешения внешних ключей в ManyToMany DjangoOjectType.

Любая помощь будет принята с благодарностью.

Спасибо за ваше время.

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