--
Ticket URL: <https://code.djangoproject.com/ticket/31968>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* status: new => closed
* resolution: => wontfix
* easy: 1 => 0
Comment:
> We are upgrading from 1.9 to 2.2 and encountered the issue that all the
backends failed the test and no exception was raised.
You should always upgrade through each feature release incrementally (1.9
to 2.0 to 2.1 to 2.2) in such cases you wouldn't have missed deprecation
warning about the `authenticate()` signature.
> I would like to propose that we track which backends were tested in an
array and if that array size is zero that we raise an exception that no
backend could be found for verification, this would have saved us some
time.
I think it's not worth the complexity and a potential performance
regression (extra check when authenticating each user). You encountered
this issue because you try to bump few version at once, which
[https://docs.djangoproject.com/en/3.1/howto/upgrade-version/#required-
reading is not recommended].
> For extra points, this test of the backend could be done at startup time
and the invalid plugins could be marked on starting django instead of
waiting for the time of usage. A static type check basically at load time
of all plugins for compatibility.
[https://groups.google.com/g/django-developers/c/C_Phs05kL1Q/discussion
The Technical Board decided] to don't add static typechecking to Django.
--
Ticket URL: <https://code.djangoproject.com/ticket/31968#comment:1>