Opened 7 years ago
Last modified 5 years ago
#28752 closed Cleanup/optimization
django.setup() should be idempotent — at Version 5
Reported by: | pascal chambon | Owned by: | nobody |
---|---|---|---|
Component: | Core (Other) | Version: | 1.11 |
Severity: | Normal | Keywords: | |
Cc: | Aymeric Augustin | Triage Stage: | Accepted |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
I've been bitten numerous times by the impredictable behaviour of django
when django.setup() was called numerous times.
In the old days I had exceptions, now it's mainly subtle breakages of
logging configuration.
I couldn't find, in the issue tracker or the dev mailing list statements
about this subject, others than request from other users encountering the
problem.
For example this ticket concerned script+importable modules :
https://code.djangoproject.com/ticket/26152
The latest case in date for me is pytest-django having troubles with
these multiple setup() calls : https://github.com/pytest-dev/pytest-
django/issues/531 , due to multiple fixtures attempting this auto-setup.
Would it be OK to make django.setup() idempotent, or even expose a
"is_ready" flag for easier introspection ?
Change History (5)
comment:1 by , 7 years ago
Resolution: | → duplicate |
---|---|
Status: | new → closed |
Summary: | Django.setup() should be idempotent → django.setup() should be idempotent |
comment:2 by , 7 years ago
Description: | modified (diff) |
---|---|
Resolution: | duplicate |
Status: | closed → new |
comment:3 by , 7 years ago
Thanks. Can you explain the use case for calling django.setup()
multiple times?
comment:4 by , 7 years ago
Description: | modified (diff) |
---|
comment:5 by , 7 years ago
Description: | modified (diff) |
---|
I believe this is addressed in Django 2.0 by #27176. If not, please reopen with a minimal project that reproduces the problem you're encountering.