On Jun 30, 7:13 pm, mike171562 <[EMAIL PROTECTED]> wrote:
> Hello,
>    I am working on a django that querys long distance numbers from a
> mysql database. I am currently using the django API, that goes
> something like this.
>
> long_distance =
> Call.objects.filter(dest_num__startswith='1').filter(dest_num__gt=6).exclude(dest_num__startswith='18').exclude(dest_num__startswith='1281').exclude(dest_num__startswith='1832').exclude(dest_num__startswith='1713')
>
> I was hoping to consolidate all of my .filter excludes into one regex.
> is this possible and would it be more efficient? Basically any number
> that doesnt start with 281,713,832 or 1281,1713,or 1832 is long
> distance any help would be appreciated.

Using regex mostly complicates things.  If I have understood your
requirement properly, the following may be a better and cleaner
alternative:

from django.models import Q

long_distance = Call.objects.filter(

~Q(dest_num__startswith='281') &

~Q(dest_num__startswith='713') &

~Q(dest_num__startswith='832') &

~Q(dest_num__startswith='1281') &

~Q(dest_num__startswith='1713') &

~Q(dest_num__startswith='1832 ')
                                              )

That is merely an example.  You can make up different conditionals
with the use of the Q feature.
http://www.djangoproject.com/documentation/db-api/#complex-lookups-with-q-objects

--
Ayaz Ahmed Khan

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