#34239: Resolve load type-hinted objects in views
-------------------------------+--------------------------------------
     Reporter:  maldoinc       |                    Owner:  nobody
         Type:  New feature    |                   Status:  new
    Component:  Generic views  |                  Version:  dev
     Severity:  Normal         |               Resolution:
     Keywords:                 |             Triage Stage:  Unreviewed
    Has patch:  0              |      Needs documentation:  0
  Needs tests:  0              |  Patch needs improvement:  0
Easy pickings:  0              |                    UI/UX:  0
-------------------------------+--------------------------------------
Description changed by maldoinc:

Old description:

> In this ticket I'd like to propose a new feature 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.

New description:

 In this ticket I'd like to propose a new feature 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 by pk 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#comment:2>
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/0107018574d40b1b-b5c2f694-0d69-4939-9204-e9959ad76714-000000%40eu-central-1.amazonses.com.

Reply via email to