python 如何使用pk重命名的通用视图

lb3vh1jj  于 2022-12-17  发布在  Python
关注(0)|答案(1)|浏览(116)

django.views.generic.detail.DetailView使用urls.py中的pkslug作为标识符。
urls.py

urlpatterns = [
    path('<int:quiz_id>/results/', views.ResultsView.as_view()),
]

是否有办法用途:

class ResultsView(generic.DetailView):
    model = Quiz

而不将quiz_id更改为pk(用于主键的默认名称)?
我希望有某种方法可以将模糊的pk更改为更具描述性的内容。

bbmckpt7

bbmckpt71#

在祖先(MRO)中,列出了django.views.generic.detail.SingleObjectMixin。您可以覆盖此类的pk_url_kwarg,以将pk更改为quiz_id

class ResultsView(generic.DetailView):
    model = Quiz
    pk_url_kwarg = "quiz_id"

相关问题