And there's 2 other options to consider:

     *  The ne lookup is actually the first example in the documentation for 
custom 
lookups[1]. So you get its implementation for free and can consider adding it.
     *  You can extend Field to add exclude_choices() which sets 
limit_choices_to to the 
negation of the argument as below - so wrap it with ~Q().
All depending on how isolated your case is in the project/app.

On Tuesday 31 January 2017 23:48:28 C. Kirby wrote:
> django doesn't have an ne operator in the orm. You want to use a
> negated Q object for your limit_choices_to. try:
> 
> from django.db.models import Q
> 
> phone = models.ManyToManyField(Phone, limit_choices_to = ~Q(type_id =
> 'C'))
> On Wednesday, February 1, 2017 at 6:17:52 AM UTC+2, Gordon Burgess wrote:
> > I have this code, and with Django 1.10 it works as expected:
> > 
> > class Location(models.Model):
> >     name = models.CharField(max_length = 32, unique = True)
> >     street = models.CharField(max_length = 32)
> >     detail = models.CharField(max_length = 32, blank = True, null =
> >     True)
> >     city = models.CharField(max_length = 32)
> >     state = USStateField()
> >     zip = USZipCodeField()
> >     phone = models.ManyToManyField(Phone, limit_choices_to =
> > 
> > {'type_id':'H'})
> > 
> > but what I'd like to do is restrict the choices of phone numbers for
> > Locations to those that aren't 'C' (cell phones) - I've found some
> > hints,> 
> > but they're all for older versions of Django - it seems like:
> >     phone = models.ManyToManyField(Phone, limit_choices_to =
> > 
> > {'type_id__ne':'C'})
> > 
> > ought to work - but this provokes a TypeError:
> > 
> > Related Field got invalid lookup: ne
> > 
> > Thanks!

-- 
Melvyn Sopacua

--------
[1] https://docs.djangoproject.com/en/1.10/howto/custom-lookups/

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/2680435.EONmJTctep%40devstation.
For more options, visit https://groups.google.com/d/optout.

Reply via email to