Django:查询以检查request.user是否是组的管理员


class Group(models.Model):
group_name = models.CharField(max_length=256)
group_desc = models.CharField(max_length=2000, blank=True)
created_by = models.ForeignKey(User, on_delete=models.PROTECT, blank=True, null=True, related_name='created_groups')
group_pic = models.ImageField(blank=True)
users = models.ManyToManyField(User, through='GroupMember')
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)

class GroupMember(models.Model):
group = models.ForeignKey(Group, on_delete=models.CASCADE)
user = models.ForeignKey(User, on_delete=models.CASCADE)
is_group_admin = models.BooleanField(default=False)

我有这两个模型,我想查询request.user是否是特定组的一部分,是否是group_admin:

我已经成功地查询了第一部分,但无法完成后一部分。对于第一部分,我编写了以下查询:

GroupMember.objects.filter(id=pk, group__users__in=[request.user])

任何形式的帮助都将不胜感激。

尝试:

GroupMember.objects.filter(user=request.user, group=<group_to_check>, is_group_admin=True).exists()

请尝试

GroupMember.objects.filter(user=request.user, group__group_name=<group_name_to_be_checked>, is_group_admin=True).exists()

相关内容

最新更新