Opened 13 years ago

Last modified 13 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.

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top