#36593: Deprecate select_related() with no arguments
-------------------------------------+-------------------------------------
     Reporter:  Adam Johnson         |                     Type:
                                     |  Cleanup/optimization
       Status:  new                  |                Component:  Database
                                     |  layer (models, ORM)
      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
-------------------------------------+-------------------------------------
 Currently, it’s possible to call `select_related()` with no arguments,
 
[https://docs.djangoproject.com/en/5.2/ref/models/querysets/#django.db.models.query.QuerySet.select_related
 documented thusly]:

 > There may be some situations where you wish to call `select_related()`
 with a lot of related objects, or where you don’t know all of the
 relations. In these cases it is possible to call `select_related()` with
 no arguments. This will follow all non-null foreign keys it can find -
 nullable foreign keys must be specified. This is not recommended in most
 cases as it is likely to make the underlying query more complex, and
 return more data, than is actually needed.


 In [https://github.com/django/django/pull/17554#discussion_r2072398386 a
 comment thread] discussing `select_related()` with no arguments, four
 contributors agreed it would be worth deprecating, due to its poor
 performance implications, degrading every time the given model gains a
 relation.

 This deprecation would need to affect both `select_related()` with no
 arguments and the `ModelAdmin.list_select_related = True` option that uses
 it.
-- 
Ticket URL: <https://code.djangoproject.com/ticket/36593>
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 visit 
https://groups.google.com/d/msgid/django-updates/010701991445a697-6fa4c325-e2d0-4b90-a62c-85124b47077f-000000%40eu-central-1.amazonses.com.

Reply via email to