Django: исключать объекты при проверке поля ManyToMany - PullRequest
0 голосов
/ 05 марта 2019

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

Я хочу сделать следующее:

class Game(models.Model):
    created_by = models.ForeignKey(User, on_delete=models>CASCADE)


class User(AbstractUser):
    block_users = models.ManyToManyField("self", blank=True)

Я хочу перечислить Game объектов, но хочу исключить, если self.request.userв родительском (created_by) ManyToManyField block_users

Я пытался сделать это, но это не сработало.

def get_queryset(self):
    return Game.objects.exclude(created_by__block_users=self.request.user)

1 Ответ

0 голосов
/ 05 марта 2019

Вместо попыток на основе созданных пользователями, мы можем попробовать с точки зрения вошедшего в систему пользователя.

def get_queryset(self):
    return Game.objects.exclude(created_by__in=self.request.user.blocked_users.all())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...