I am struggling with getting kwarg values into a queryset filter:

class UsersItemsView(ListView):
    template_name = 'testapp/user_item_list.html'

    def get_queryset(self, **kwargs):
        print('kwargs-userlist')
        print(kwargs)
        #return Item.objects.filter(user__username='clive')
        #return Item.objects.filter(user__id=2)
        return Item.objects.filter(user__id=kwargs['userlist'])

    def dispatch(self, *args, **kwargs):
        print('kwargs-userlist')
        print(kwargs['userlist'])
        return super(UsersItemsView, self).dispatch(*args, **kwargs)


On dispatch, I can see the value for "kwargs['userlist']" printed in the terminal.

But, the queryset returns an error:

    Exception Type: KeyError
    Exception Value: 'userlist'

I understand this to mean that the key 'userlist' is not in kwargs, and this is confirmed if I "print(kwargs)" inside the get_queryset

If I use the hard-coded filters, commented-out above ("user__username='clive'", "user__id=2"), I get the result (from the template) that I expect.

So, how do I get the "kwargs['userlist']" passed to the queryset?


Thanks


-- Clive

--
You received this message because you are subscribed to the Google Groups "Django 
users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/5BD32BE1-331F-4AE5-BB8A-2E769D728972%40indx.co.uk.

Reply via email to