Using get_object_or_404 on a class that isn't a Django model could result in a more obvious error message.
|Reported by:||kitsunde||Owned by:||BHold|
|Has patch:||yes||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
I have a Calendar model in my app but I wrongly imported calendar.Calendar from python instead which resulted in:
type object 'Calendar' has no attribute '_default_manager'
Which led me to think it was this issue: https://code.djangoproject.com/ticket/10405 perhaps it would be possible to raise a ValueError if get_object_or_404 receives something that is not of the correct type with "type object 'Calendar' is not a Django Model".
In _get_queryset it seems like it should raise a ValueErorr if it is not a Model, Manager, or QuerySet if that is what it expects, rather than to assume it is a Model if it's not the other two as it is now.
Or perhaps it was just PEBCAK on my part. :)
Change History (7)
comment:1 Changed 3 years ago by atykhonov
- Needs documentation unset
- Needs tests unset
- Patch needs improvement unset
comment:2 Changed 3 years ago by claudep
- Component changed from Uncategorized to Core (Other)
- Easy pickings set
- Triage Stage changed from Unreviewed to Accepted
- Type changed from Uncategorized to Cleanup/optimization
comment:6 Changed 3 years ago by Claude Paroz <claude@…>
- Resolution set to fixed
- Status changed from new to closed