#34239: Resolve load type-hinted objects in views
-----------------------------------------+------------------------
Reporter: maldoinc | Owner: nobody
Type: New feature | Status: new
Component: Generic views | Version: dev
Severity: Normal | Keywords:
Triage Stage: Unreviewed | Has patch: 0
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-----------------------------------------+------------------------
In this ticket I'd like to propose a new which loads models from parameter
information. A common pattern in views is to have a primary key or
candidate key to locate a specific record via get_object_or_404.
What I'd like to propose is to allow users to type-hint a specific
parameter and have django load the object automatically or throw 404 if it
doesn't exist.
{{{
#!div style="font-size: 80%"
{{{#!python
# url pattern for this view: posts/<post>/
# the argument name matches the url variable.
def some_view(request, post: Post):
pass
}}}
}}}
This feature would also work if there are multiple objects being loaded in
the same view.
Currently in our repository we do this via a decorator, but I feel that
this would be a helpful feature that can be merged into core as it reduces
the amount of boilerplate.
This feature is inspired from a similar one in Symfony framework.
https://symfony.com/doc/current/doctrine.html#doctrine-entity-value-
resolver
Looking forward to your thoughts. I can also supply the implementation for
this if we decide it is worth adding.
--
Ticket URL: <https://code.djangoproject.com/ticket/34239>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/01070185746a1566-a915de80-9e9a-43c3-b6f1-b0ecb044a159-000000%40eu-central-1.amazonses.com.