我想知道在 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/