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.