Opened 14 years ago
Last modified 14 years ago
#15508 closed
DetailView view looks for pk or slug by default but the error says id or slug. — at Initial Version
Reported by: | John Shimek | Owned by: | nobody |
---|---|---|---|
Component: | Generic views | Version: | 1.3-alpha |
Severity: | Keywords: | ||
Cc: | Triage Stage: | Accepted | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
With the following url rule
url(r'order/(?P<id>\d+)/$', DetailView.as_view(model=Order), name='order-detail')
Django throws the following error:
Generic detail view order must be called with either an object id or a slug.
From django/django/views/generic/detail.py in get_object, line 45
It confused me for a bit because I am supplying the id of the object. Upon looking at detail.py, it looks for pk and slug. I checked the documentation and found that does mention pk and slug as well, so I am obviously doing it wrong. But, in my mind, id also makes sense. But whether support for id is added or not, I think the error message should be updated to say 'object pk or a slug'.
I am running 1.3 alpha at the moment, but I checked the method trunk it is the same.