Thanks Scott,
I have one doubt though: I need a bound form to properly set the queryset.
Using your method I'd use an unbound form, am I wrong?

On Fri, Jun 4, 2010 at 14:33, Scott Gould <[email protected]> wrote:
> Create a ModelForm for your model (A), set the queryset to what you
> want on the appropriate field (n), and then register that ModelForm
> for admin use in your admins.py.
>
> Regards
> Scott
>
>
> On Jun 4, 6:14 am, Massimiliano della Rovere
> <[email protected]> wrote:
>> When displayed in the Admin interfaces, I'd like to filter the values
>> of n, so that instances of N already linked to other instances of A
>> sharing the same instance of o are not shown:
>> so when you edit an instance of A (let's call it "a"), you see only
>> the instances of n in use by a and the unsed ones (in the context of
>> o).
>>
>> The problem is that I am not allowd to write self.choices_for_n()
>>
>> Does anybody know any solution for this?
>>
>> class A(models.Model):
>>         o = models.ForeignKey(O)
>>         p = models.ManyToManyField(P)
>>         n = models.ManyToManyField(N, limit_choices_to=self.choices_for_n())
>>
>>         def choices_for_n(self):
>>                 unwanted = []
>>                 for z in self.o.z_set.all():
>>                         if z.id == self.id:
>>                                 continue
>>                         unwanted += [z.id for z in z.n]
>>                 for n in N.objects.exclude(id__in=unwanted):
>>                         yield n.id
>
> --
> 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.
>
>

-- 
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.

Reply via email to