i don't see any way for a python function to _require_ a parameter to
be hardcoded.
i would be VERY surprised otherwise. this must work...
i agree about python being designed awesomely though! :)

On Thu, Feb 4, 2010 at 3:13 PM, davidchambers
<david.chambers...@gmail.com> wrote:
> Thanks for the suggestion. Unless I'm mistaken, though, using a
> dictionary does not solve the problem which is that .filter() seems to
> require field names to be hard-coded. Django is incredibly well
> designed, though, and continually surprises me, so I'm almost
> _expecting_ to be pleasantly surprised here. :)
>
>
> On Feb 5, 12:23 am, Itay Donenhirsch <i...@bazoo.org> wrote:
>> i guess you can do it with a dictionary, i'll give you a general example:
>>
>> def foo(x,y,z):
>>   print "x=" + x
>>   print "y=" + y
>>   print "z=" + z
>>
>> d = { 'x' : 1, 'y': 2, 'z' : 3 }
>> foo( **d ) # same as foo( x=1, y=2, z=3 )
>>
>> it's a python thing, not django necessarily
>>
>> On Thu, Feb 4, 2010 at 1:20 PM, davidchambers
>>
>> <david.chambers...@gmail.com> wrote:
>> > I'm familiar with hard-coding filters in the standard fashion, e.g.
>> > posts = Post.objects.filter(title__contains='django').
>>
>> > I'm interested in finding out whether it's possible to replace
>> > title__contains in the above example with a variable. Why do I want to
>> > do this? Well, here's some pseudocode:
>>
>> > posts = Post.objects.all()
>> > if title checkbox is checked:
>> >        posts = posts.filter(title__contains='django')
>> > if subheading checkbox is checked:
>> >        posts = posts.filter(subheading__contains='django')
>> > if body checkbox is checked:
>> >        posts = posts.filter(body__contains='django')
>>
>> > I would love to be able to do this with a loop:
>>
>> > posts = Post.objects.all()
>> > for field in ['title', 'subheading', 'body']:
>> >        posts = posts.filter(field__contains='django')
>>
>> > Clearly the above will not work, but is there a way to achieve the
>> > result I'm after?
>>
>> > --
>> > 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 
>> > athttp://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 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.
>
>

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

Reply via email to