Re: Queryset filtering based on user supplied callable??

2010-06-05 Thread Joakim Hove
Thank you very much :-)

Joakim

On Jun 5, 4:42 pm, johan de taeye  wrote:
> Typo...
> The correct syntax is :
>     obj_list = [ i for i in MyObject.objects.all() if my_filter(i) ]
>
> On Jun 5, 4:29 pm, johan de taeye  wrote:
>
> > Possible through basic Python:
>
> >   obj_list = [ i for i in MyObject.objects.all() where my_filter(i) ]
>
> > Note that this filtering is happening on the Python side of things,
> > whereas a queryset filter is executed in SQL on the database.  The
> > filtering on the database is normally much, much faster, so be careful
> > with the python-style filtering...
>
> > Johan
>
> > On Jun 5, 12:32 pm, Joakim Hove  wrote:
>
> > > Hello,
>
> > > I have a query list which I want to filter based on a computation
> > > which I supply:
>
> > > # Create a query set containing everything:
> > > obj_list = MyObject.objects.all()
>
> > > # Now - select only the element which pass some test:
> > > obj_list = obj_list.filter( my_filter )
>
> > > def my_filter( obj ):
> > >      # Does a computation based on obj values, and returns true or
> > > false
> > >      
> > >      return true|false
>
> > > Is something like this doable?
>
> > > Joakim- Hide quoted text -
>
> > - Show quoted text -

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



Re: Queryset filtering based on user supplied callable??

2010-06-05 Thread johan de taeye
Possible through basic Python:

  obj_list = [ i for i in MyObject.objects.all() where my_filter(i) ]

Note that this filtering is happening on the Python side of things,
whereas a queryset filter is executed in SQL on the database.  The
filtering on the database is normally much, much faster, so be careful
with the python-style filtering...

Johan


On Jun 5, 12:32 pm, Joakim Hove  wrote:
> Hello,
>
> I have a query list which I want to filter based on a computation
> which I supply:
>
> # Create a query set containing everything:
> obj_list = MyObject.objects.all()
>
> # Now - select only the element which pass some test:
> obj_list = obj_list.filter( my_filter )
>
> def my_filter( obj ):
>      # Does a computation based on obj values, and returns true or
> false
>      
>      return true|false
>
> Is something like this doable?
>
> Joakim

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