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()