models
class Permission(models.Model):
name = models.CharField(max_length=250, unique=True)
class PermissionDetail():
perm = models.ForeignKey(
Permission, on_delete=models.CASCADE, related_name='perm_details')
group = models.ForeignKey(
'Group', blank=True, null=True, related_name='group_perms', on_delete=models.CASCADE)
class Group():
name = models.CharField(max_length=250)
users = models.ManyToManyField(User, blank=True, related_name='groups')
permissions = models.ManyToManyField(Permission, blank=True, related_name='permissions')
what I did:
user_groups = user.groups.all()
perm_details = []
for group in user_groups:
perm_details.append(group.group_perms.filter(perm=perm))
return perm_details
This returns the correct list of data but I want queryset instead of list.
How can I return the queryset instead of making list here ?
I tried like this but Is's not right.
PermissionDetail.objects.filter(perm=perm, groups__pk__in=user_groups)