On Nov 12, 8:55 pm, Steven D'Aprano <st...@remove-this- cybersource.com.au> wrote: > On Thu, 12 Nov 2009 10:39:33 -0800, scoopseven wrote: > > I need to create a dictionary of querysets. I have code that looks > > like: > > > query1 = Myobject.objects.filter(status=1) > > query2 = Myobject.objects.filter(status=2) > > query3 = Myobject.objects.filter(status=3) > > > d={} > > d['a'] = query1 > > d['b'] = query2 > > d['c'] = query3 > > > Is there a way to do this that I'm missing? > > I don't understand your problem. Assuming Myobject is defined, and has > the appropriate attribute objects.filter, the above should work exactly > as you give it. > > What is your actual problem? Are you asking for help in defining a > queryset? > > -- > Steven
I actually had a queryset that was dynamically generated, so I ended up having to use the eval function, like this... d = {} for thing in things: query_name = 'thing_' + str(thing.id) query_string = 'Thing.objects.filter(type=' + str(thing.id) + ').order_by(\'-date\')[:3]' executable_string = query_name + ' = Thing.objects.filter (type=' + str(thing.id) + ').order_by(\'-date\')[:3]' exec(executable_string) d[query_name] = eval(query_string) And no, this is not based on user-generated input. Thanks for the input. -- http://mail.python.org/mailman/listinfo/python-list