我确定有人已经问过类似的问题,但是我不知道该怎么做才能达到我想要的目标。如果标题更好,请修改标题。
我想做的就是这样
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)
答案 0 :(得分:1)
我们可以从已登录用户的角度进行尝试,而不是根据用户创建的内容进行尝试。
def get_queryset(self):
return Game.objects.exclude(created_by__in=self.request.user.blocked_users.all())