Этого можно добиться, взяв 2 параметра в URL: один pk
вопроса и другие slug
и обработайте его следующим образом.
urls.py
url(r'^(?P<pk>\d+)/$', views.questionDetail),
url(r'^(?P<pk>\d+)/(?P<slug>[\w.-]+)/$', views.questionDetail, name='question-detail'),
views.py
def questionDetail(request, pk, *args):
question = get_object_or_404(Question, pk=pk)
slug = ""
if(*args[0])
slug = *args[0]
if question.slug != slug:
return redirect('question-detail', pk, question.slug)
return render(request, 'questions/question_detail.html', context)