On Oct 21, 2008, at 5:38 AM, timc3 wrote:

>
> So I have a model that looks like this:
>
> class GroupsOfUser(models.Model):
>    name = models.CharField(_("Name"), max_length=50)
>    description = models.TextField(_("Description"), blank=True,
> help_text=_("Optional"))
>    slug = models.SlugField()
>    group_members = models.ManyToManyField(User, verbose_name="group
> members", related_name="groupofumembers")
>    group_admins = models.ManyToManyField(User, verbose_name="group
> admins", related_name="groupofuadmins")
>    group_owner = models.ForeignKey(User, verbose_name="group owner",
> related_name="groupofuowner")
>    date_created = models.DateTimeField(_("Creation date"),
> auto_now_add=True)
>
>
> What I have been doing is that some users are in group_members, but
> only certain users are in group_admins & in group_members.  This is
> easy for me when checking whether a user has the right to see a
> GroupOfUser object, but may not be ideal.
>
> Anyway I want to return a QuerySet with all the users that are not
> group_admins, but that are in group_members, so I thought maybe
> excluding would work but I am unsure of the syntax:
>
> g = GroupsOfUser.objects.get(pk=1)
> a = g.group_admins.all()
> b = g.group_members.exclude(user_id=b)

One option would be to make "a" a list of group_admin pks, like so:
a = g.group_admins.values_list('id', flat=True)

Then you can exclude(user_id__in=a)

Is that what you were after?

E

>
>
> But of course this doesn't work when there is more than one user in a.
>
> Any help would be much appreciated.
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to