从Django View类中的URL访问主键

Luk*_*uke 21 python django url-routing

我有一个URL模式映射到我的Django App中的自定义视图类,如下所示:

url( r'^run/(?P<pk>\d+)/$', views.PerfRunView.as_view( ))
Run Code Online (Sandbox Code Playgroud)

问题是,我无法弄清楚如何从视图类中的URL模式字符串访问'pk',以便我可以根据其数据库ID检索特定的模型对象.我用Google搜索,查看了Django文档,搜索了Stack Overflow,我找不到满意的答案.

有人能告诉我吗?

Dan*_*man 53

在基于类的视图中,URL中的所有元素都放在self.args(如果它们是非命名组)或self.kwargs(对于命名组)中.因此,对于您的视图,您可以使用self.kwargs['pk'].


rag*_*ghu 11

访问视图帖子中的主键 =

Class_name.objects.get(pk=self.kwargs.get('pk'))
Run Code Online (Sandbox Code Playgroud)