python - 如何为 DetailView 指定 pk 或 slug 以外的内容

标签 python django django-views django-1.3

我想知道在 Django 1.3 中使用 DetailView 时是否可以使用 pk 或 slug 之外的东西。

例如,我目前有:

url(r'^mymodel/(?P<pk>\d+)/$', MyDetailView.as_view())

作为我的网址。假设我想要这样的东西:

url(r'^mymodel/(?P<name>\d+)/$', MyDetailView.as_view())

其中名称将是模型中的一个字段。无论如何让 DetailView 使用它来“抓取”我想要的对象并将其传递到我的模板?

最佳答案

slug 在 Django 中没有任何特殊意义。它只是标识行的字段的名称。如果您的 slug 被称为其他名称,例如 name,只需将 name 指定为 View 子类中的 slug_field 属性即可。

如果您需要更复杂的东西,您总是可以在 View 类中覆盖 get_object

关于python - 如何为 DetailView 指定 pk 或 slug 以外的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5780803/

相关文章:

python - 无法通过端口 8000 访问图像(开发中)

python - 类型对象 'Book' 没有属性 'order_by'

python - scipy.optimize.minimize 与 BFGS : Objective called twice with same parameter vector

python - 404 未找到 : self. request.url

python - 如何在 Python 中的函数指定的域中绘制 3 维图?

python - 如何按django中的计算值排序

python - GeoDjango:如何获得两点之间的距离?

python - 分配 django 错误之前引用的局部变量

django - 如果应用程序与 Django 一起安装,则调整 View

python - 不明白为什么 string.index ("word") 不工作