I am sharing a viewset between two types of routes in Django: one is a nested route (/users/:id/comments/:id/), and a regular route (/comments/:id/). The query set returned is either filtered by the user_pk or it's not. What is an idiomatic way of writing the following?if(user_pk):    queryset = Comment.objects.filter(pk=pk, user=user_pk)else:    queryset = Comment.objects.filter(pk=pk)
Idiomatic Django conditional filter queryset
python;django
It's fine.As this function doesn't have a default value for parameters,you would have to use a dictionary if you want to make it more DRY.I'd do something like:kwargs = {    'pk': pk,    'user': user_pk}if not kwargs['user']:    del kwargs['user']queryset = Comment.objects.filter(**kwargs)