[Django] #37317: Remove undocumented createcachetable <table_name…> support

17 views
Skip to first unread message

Django

unread,
Sep 2, 2026, 2:29:57 PMSep 2
to django-...@googlegroups.com
#37317: Remove undocumented createcachetable <table_name…> support
-------------------------------------+-------------------------------------
Reporter: Mike Edmunds | Type:
| Cleanup/optimization
Status: new | Component: Core
| (Management commands)
Version: 6.1 | Severity: Normal
Keywords: cache | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
The `createcachetable` management command used to accept one or more
''table_name'' command-line arguments. That behavior was removed from the
[https://docs.djangoproject.com/en/1.8/ref/django-admin/#django-admin-
createcachetable documentation] in 1.7 when the command was changed to
iterate over all `CACHES`, but the
[https://github.com/django/django/blob/5180f82f48b589f93cddc7be7896f654a9aec1ad/django/core/management/commands/createcachetable.py#L47-L50
implementation] is still in place with a "Legacy behavior" comment.

Retaining the undocumented legacy behavior adds maintenance burden (e.g.,
in implementing features like #36830) and creates potential confusion for
users who might try to run `createcachetable` with a `CACHES` alias rather
than a table name.

Suggest removing support for `args` in `createcachetable`, with
deprecation notices (in case there are still some scripts out there
relying on the legacy behavior).
--
Ticket URL: <https://code.djangoproject.com/ticket/37317>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Sep 2, 2026, 2:30:49 PMSep 2
to django-...@googlegroups.com
#37317: Remove undocumented createcachetable <table_name…> support
-------------------------------------+-------------------------------------
Reporter: Mike Edmunds | Owner: (none)
Type: | Status: new
Cleanup/optimization |
Component: Core (Management | Version: 6.1
commands) |
Severity: Normal | Resolution:
Keywords: cache | 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 Mike Edmunds:

Old description:

> The `createcachetable` management command used to accept one or more
> ''table_name'' command-line arguments. That behavior was removed from the
> [https://docs.djangoproject.com/en/1.8/ref/django-admin/#django-admin-
> createcachetable documentation] in 1.7 when the command was changed to
> iterate over all `CACHES`, but the
> [https://github.com/django/django/blob/5180f82f48b589f93cddc7be7896f654a9aec1ad/django/core/management/commands/createcachetable.py#L47-L50
> implementation] is still in place with a "Legacy behavior" comment.
>
> Retaining the undocumented legacy behavior adds maintenance burden (e.g.,
> in implementing features like #36830) and creates potential confusion for
> users who might try to run `createcachetable` with a `CACHES` alias
> rather than a table name.
>
> Suggest removing support for `args` in `createcachetable`, with
> deprecation notices (in case there are still some scripts out there
> relying on the legacy behavior).

New description:

The `createcachetable` management command used to accept one or more
''table_name'' command-line arguments. That behavior was removed from the
[https://docs.djangoproject.com/en/1.8/ref/django-admin/#django-admin-
createcachetable documentation] in 1.7 when the command was changed to
iterate over all `CACHES` (#15888), but the
[https://github.com/django/django/blob/5180f82f48b589f93cddc7be7896f654a9aec1ad/django/core/management/commands/createcachetable.py#L47-L50
implementation] is still in place with a "Legacy behavior" comment.

Retaining the undocumented legacy behavior adds maintenance burden (e.g.,
in implementing features like #36830) and creates potential confusion for
users who might try to run `createcachetable` with a `CACHES` alias rather
than a table name.

Suggest removing support for `args` in `createcachetable`, with
deprecation notices (in case there are still some scripts out there
relying on the legacy behavior).

--
--
Ticket URL: <https://code.djangoproject.com/ticket/37317#comment:1>

Django

unread,
Sep 3, 2026, 1:58:11 AMSep 3
to django-...@googlegroups.com
#37317: Remove undocumented createcachetable <table_name…> support
-------------------------------------+-------------------------------------
Reporter: Mike Edmunds | Owner: (none)
Type: | Status: new
Cleanup/optimization |
Component: Core (Management | Version: 6.1
commands) |
Severity: Normal | Resolution:
Keywords: cache | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by Md. Saikat Islam):

I agree with removing the undocumented positional arguments from
`createcachetable`. The legacy behavior appears to provide little value
while adding maintenance and potential ambiguity with cache aliases. A
deprecation path followed by removal seems reasonable.
--
Ticket URL: <https://code.djangoproject.com/ticket/37317#comment:2>

Django

unread,
Sep 4, 2026, 2:15:44 AMSep 4
to django-...@googlegroups.com
#37317: Remove undocumented createcachetable <table_name…> support
-------------------------------------+-------------------------------------
Reporter: Mike Edmunds | Owner: (none)
Type: | Status: new
Cleanup/optimization |
Component: Core (Management | Version: 6.1
commands) |
Severity: Normal | Resolution:
Keywords: cache | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by deformator852):

I'll take this if accepted - deprecation warning for the positional table-
name args, then removal in the following feature release.
--
Ticket URL: <https://code.djangoproject.com/ticket/37317#comment:3>

Django

unread,
Sep 4, 2026, 2:17:20 AMSep 4
to django-...@googlegroups.com
#37317: Remove undocumented createcachetable <table_name…> support
-------------------------------------+-------------------------------------
Reporter: Mike Edmunds | Owner:
Type: | deformator852
Cleanup/optimization | Status: assigned
Component: Core (Management | Version: 6.1
commands) |
Severity: Normal | Resolution:
Keywords: cache | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by deformator852):

* owner: (none) => deformator852
* status: new => assigned

--
Ticket URL: <https://code.djangoproject.com/ticket/37317#comment:4>

Django

unread,
Sep 4, 2026, 2:52:01 AMSep 4
to django-...@googlegroups.com
#37317: Remove undocumented createcachetable <table_name…> support
-------------------------------------+-------------------------------------
Reporter: Mike Edmunds | Owner:
Type: | deformator852
Cleanup/optimization | Status: assigned
Component: Core (Management | Version: 6.1
commands) |
Severity: Normal | Resolution:
Keywords: cache | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by deformator852):

I've implemented the deprecation locally (warning, test, 6.2 notes,
deprecation timeline). I'll open a PR once this is accepted.
--
Ticket URL: <https://code.djangoproject.com/ticket/37317#comment:5>

Django

unread,
Sep 9, 2026, 11:43:15 PMSep 9
to django-...@googlegroups.com
#37317: Remove undocumented createcachetable <table_name…> support
-------------------------------------+-------------------------------------
Reporter: Mike Edmunds | Owner: Nikita
Type: | Kostenko
Cleanup/optimization | Status: assigned
Component: Core (Management | Version: 6.1
commands) |
Severity: Normal | Resolution:
Keywords: cache | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Nikita Kostenko):

* stage: Unreviewed => Accepted

--
Ticket URL: <https://code.djangoproject.com/ticket/37317#comment:6>

Django

unread,
Sep 9, 2026, 11:46:31 PMSep 9
to django-...@googlegroups.com
#37317: Remove undocumented createcachetable <table_name…> support
-------------------------------------+-------------------------------------
Reporter: Mike Edmunds | Owner: Nikita
Type: | Kostenko
Cleanup/optimization | Status: assigned
Component: Core (Management | Version: 6.1
commands) |
Severity: Normal | Resolution:
Keywords: cache | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Nikita Kostenko):

* has_patch: 0 => 1

--
Ticket URL: <https://code.djangoproject.com/ticket/37317#comment:7>

Django

unread,
Sep 9, 2026, 11:57:23 PMSep 9
to django-...@googlegroups.com
#37317: Remove undocumented createcachetable <table_name…> support
-------------------------------------+-------------------------------------
Reporter: Mike Edmunds | Owner: Nikita
Type: | Kostenko
Cleanup/optimization | Status: assigned
Component: Core (Management | Version: 6.1
commands) |
Severity: Normal | Resolution:
Keywords: cache | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by Nikita Kostenko):

[https://github.com/django/django/pull/21952]PR
--
Ticket URL: <https://code.djangoproject.com/ticket/37317#comment:8>

Django

unread,
Sep 11, 2026, 8:41:44 PMSep 11
to django-...@googlegroups.com
#37317: Remove undocumented createcachetable <table_name…> support
-------------------------------------+-------------------------------------
Reporter: Mike Edmunds | Owner: Nikita
Type: | Kostenko
Cleanup/optimization | Status: assigned
Component: Core (Management | Version: 6.1
commands) |
Severity: Normal | Resolution:
Keywords: cache | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mike Edmunds):

* needs_better_patch: 0 => 1

--
Ticket URL: <https://code.djangoproject.com/ticket/37317#comment:9>

Django

unread,
Sep 24, 2026, 9:01:16 AM (3 days ago) Sep 24
to django-...@googlegroups.com
#37317: Remove undocumented createcachetable <table_name…> support
-------------------------------------+-------------------------------------
Reporter: Mike Edmunds | Owner: (none)
Type: | Status: new
Cleanup/optimization |
Component: Core (Management | Version: 6.1
commands) |
Severity: Normal | Resolution:
Keywords: cache | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Nikita Kostenko):

* owner: Nikita Kostenko => (none)
* status: assigned => new

--
Ticket URL: <https://code.djangoproject.com/ticket/37317#comment:10>

Django

unread,
Sep 24, 2026, 9:01:34 AM (3 days ago) Sep 24
to django-...@googlegroups.com
#37317: Remove undocumented createcachetable <table_name…> support
-------------------------------------+-------------------------------------
Reporter: Mike Edmunds | Owner: (none)
Type: | Status: new
Cleanup/optimization |
Component: Core (Management | Version: 6.1
commands) |
Severity: Normal | Resolution:
Keywords: cache | Triage Stage:
| Unreviewed
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Nikita Kostenko):

* stage: Accepted => Unreviewed

--
Ticket URL: <https://code.djangoproject.com/ticket/37317#comment:11>

Django

unread,
Sep 24, 2026, 4:33:52 PM (3 days ago) Sep 24
to django-...@googlegroups.com
#37317: Remove undocumented createcachetable <table_name…> support
-------------------------------------+-------------------------------------
Reporter: Mike Edmunds | Owner: (none)
Type: | Status: new
Cleanup/optimization |
Component: Core (Management | Version: 6.1
commands) |
Severity: Normal | Resolution:
Keywords: cache | Triage Stage:
| Unreviewed
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by Md. Saikat Islam):

Since author closed their PR(https://github.com/django/django/pull/21952),
instead of continuing to iterate over the reviews, I would love to take
this this from here.
--
Ticket URL: <https://code.djangoproject.com/ticket/37317#comment:12>

Django

unread,
2:19 AM (8 hours ago) 2:19 AM
to django-...@googlegroups.com
#37317: Remove undocumented createcachetable <table_name…> support
-------------------------------------+-------------------------------------
Reporter: Mike Edmunds | Owner: Md.
Type: | Saikat Islam
Cleanup/optimization | Status: assigned
Component: Core (Management | Version: 6.1
commands) |
Severity: Normal | Resolution:
Keywords: cache | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Md. Saikat Islam):

* has_patch: 1 => 0
* needs_better_patch: 1 => 0
* owner: (none) => Md. Saikat Islam
* stage: Unreviewed => Accepted
* status: new => assigned

--
Ticket URL: <https://code.djangoproject.com/ticket/37317#comment:13>
Reply all
Reply to author
Forward
0 new messages