Я бы предпочел оставить все как есть, чтобы вы могли четко видеть URL вашего сайта (и каждый список может иметь имя для использования с {% url%}, но, возможно, вы можете сделать что-то вроде:
(r'^(?P<model>\w+)/list/$', list_detail.object_list)
Тогда в views.py:
def object_list(request, model):
if model == 'books':
return books_list(request)
def books_list(request):
# whatever
Я думаю, что то, что у тебя есть, лучше всего.