Как отобразить пользователей, которые входят только в группу, в панели администратора django

У меня есть простая модель Author в моем проекте Django, как показано ниже:

class Author(models.Model):
    user = models.OneToOneField(CustomUser, on_delete=models.CASCADE, default=None)

    def __str__(self):
        return self.user.username

примечание: CustomUser - это стандартная модель пользователя django, которую я дополнил номером телефона

В моделях групп (в панели администратора Django) я создал группу 'Author', чтобы отделить или разграничить обычных пользователей или авторов.

Я хочу, чтобы при вводе нового имени автора в модели Author отображались только те имена, которые принадлежат группе 'Author'.

Вы можете работать с limit_choices_to=… [Django-doc]:

class Author(models.Model):
    user = models.OneToOneField(
        CustomUser,
        on_delete=models.CASCADE,
        default=None,
        limit_choices_to={'groups__name': 'Author'},
    )

    def __str__(self):
        return self.user.username
Вернуться на верх