Don't know if you've solved this already, but This works for me and I think is what you're looking for
views.py form.fields["groups"].queryset = Groups.objects.filter(profile=profile) I only display the groups that are associated with the profile. My profile is attached to the user via request.user.get_profile() On Oct 25, 7:50 am, Giancarlo Razzolini <[email protected]> wrote: > Hi all, > > I've been using django for some time now and I must say that it's my > favorite framework. But lately I've run into a problem. Let's say I have > the following models: > > class Contact(models.Model): > id = models.AutoField(primary_key=True) > user = models.ForeignKey(User, editable=False) > name = models.CharField(max_length=255, default='', null=True, > blank=True) > groups = models.ManyToManyField('Group', null=True, blank=True) > > class Meta: > unique_together = ("user", "name") > > def __unicode__(self): > return u'%s' % (self.name) > > class Group(models.Model): > id = models.AutoField(primary_key=True) > user = models.ForeignKey(User, editable=False) > name = models.CharField(max_length=255, null=False, blank=False) > > class Meta: > unique_together = ("user", "name") > > def __unicode__(self): > return u'%s' % (self.name) > > I'm using ModelForm to create the forms used to insert new instances > of both these models into my database. But, as the models made clear, I > want to have the contacts and the groups distinct to each user in > django. This part is working. Now, when I'm going to add a new contact, > for example, I want to set theinitialvalue of the field "groups", > which is theManytoManyfield, to be only the groups belonging to that > user. I've searched the mail list and saw that I had to pass a list of > group id's to be theinitialvalue of the field: > > group_ids = [] > for group in Group.objects.filter(user=request.user): > group_ids.append(group.id) > > And then, create the form: > > form = ContactForm(request.POST, request.FILES,initial={'groups': > group_ids}) > > When I do this, the form will render ok, but, instead of only > showing the groups belonging to that user, it will still show all the > groups in the model(belonging to other users too), the only difference > being that, the groups that belong to the request.user, showing already > selected, and the other groups(the ones that shouldn't be showing) not > selected. I don't know if this is possible without having to override > the queryset that the modelform make. Any ideas? > > Thanks in advance, > > -- > Giancarlo Razzolinihttp://lock.razzolini.adm.br > Linux User 172199 > Red Hat Certified Engineer no:804006389722501 > Verify:https://www.redhat.com/certification/rhce/current/ > Moleque Sem Conteudo Numero #002 > OpenBSD 4.5 > Ubuntu 9.04 Jaunty Jackalope > 4386 2A6F FFD4 4D5F 5842 6EA0 7ABE BBAB 9C0E 6B85 -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to [email protected]. 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.

