Skip to content

Commit 9399c8b

Browse files
authored
Support Django 5.2 (#1131)
1 parent f176cc8 commit 9399c8b

10 files changed

+727
-6
lines changed

Diff for: CONTRIBUTING.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Run the tests
2020

2121
.. code-block:: console
2222
23-
DB_HOST=127.0.0.1 DB_USER=root DB_PASSWORD='hunter2' tox -e py313-django51
23+
DB_HOST=127.0.0.1 DB_USER=root DB_PASSWORD='hunter2' tox -e py313-django52
2424
2525
tox environments are split per Python and Django version.
2626

Diff for: docs/changelog.rst

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
Changelog
33
=========
44

5+
* Support Django 5.2.
6+
57
4.15.0 (2024-10-29)
68
-------------------
79

Diff for: docs/installation.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Requirements
66

77
Python 3.9 to 3.13 supported.
88

9-
Django 4.2 to 5.1 supported.
9+
Django 4.2 to 5.2 supported.
1010

1111
Tested on MySQL 8.0+ and MariaDB 10.5+.
1212

Diff for: pyproject.toml

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ classifiers = [
2424
"Framework :: Django :: 4.2",
2525
"Framework :: Django :: 5.0",
2626
"Framework :: Django :: 5.1",
27+
"Framework :: Django :: 5.2",
2728
"Intended Audience :: Developers",
2829
"License :: OSI Approved :: MIT License",
2930
"Natural Language :: English",

Diff for: tests/requirements/compile.py

+40
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,16 @@
6363
],
6464
input=b"Django>=5.1a1,<5.2\nmysqlclient>=1.4.3\n",
6565
)
66+
run(
67+
[
68+
*common_args,
69+
"--python",
70+
"3.10",
71+
"--output-file",
72+
"py310-django52.txt",
73+
],
74+
input=b"Django>=5.2a1,<5.3\nmysqlclient>=1.4.3\n",
75+
)
6676
run(
6777
[
6878
*common_args,
@@ -93,6 +103,16 @@
93103
],
94104
input=b"Django>=5.1a1,<5.2\nmysqlclient>=1.4.3\n",
95105
)
106+
run(
107+
[
108+
*common_args,
109+
"--python",
110+
"3.11",
111+
"--output-file",
112+
"py311-django52.txt",
113+
],
114+
input=b"Django>=5.2a1,<5.3\nmysqlclient>=1.4.3\n",
115+
)
96116
run(
97117
[
98118
*common_args,
@@ -123,6 +143,16 @@
123143
],
124144
input=b"Django>=5.1a1,<5.2\nmysqlclient>=1.4.3\n",
125145
)
146+
run(
147+
[
148+
*common_args,
149+
"--python",
150+
"3.12",
151+
"--output-file",
152+
"py312-django52.txt",
153+
],
154+
input=b"Django>=5.2a1,<5.3\nmysqlclient>=1.4.3\n",
155+
)
126156
run(
127157
[
128158
*common_args,
@@ -133,3 +163,13 @@
133163
],
134164
input=b"Django>=5.1a1,<5.2\nmysqlclient>=1.4.3\n",
135165
)
166+
run(
167+
[
168+
*common_args,
169+
"--python",
170+
"3.13",
171+
"--output-file",
172+
"py313-django52.txt",
173+
],
174+
input=b"Django>=5.2a1,<5.3\nmysqlclient>=1.4.3\n",
175+
)

Diff for: tests/requirements/py310-django52.txt

+201
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,201 @@
1+
# This file was autogenerated by uv via the following command:
2+
# uv pip compile --generate-hashes --constraint - requirements.in --python 3.10 --output-file py310-django52.txt
3+
asgiref==3.8.1 \
4+
--hash=sha256:3e1e3ecc849832fe52ccf2cb6686b7a55f82bb1d6aee72a58826471390335e47 \
5+
--hash=sha256:c343bd80a0bec947a9860adb4c432ffa7db769836c64238fc34bdc3fec84d590
6+
# via django
7+
coverage==7.6.10 \
8+
--hash=sha256:05fca8ba6a87aabdd2d30d0b6c838b50510b56cdcfc604d40760dae7153b73d9 \
9+
--hash=sha256:0aa9692b4fdd83a4647eeb7db46410ea1322b5ed94cd1715ef09d1d5922ba87f \
10+
--hash=sha256:0c807ca74d5a5e64427c8805de15b9ca140bba13572d6d74e262f46f50b13273 \
11+
--hash=sha256:0d7a2bf79378d8fb8afaa994f91bfd8215134f8631d27eba3e0e2c13546ce994 \
12+
--hash=sha256:0f460286cb94036455e703c66988851d970fdfd8acc2a1122ab7f4f904e4029e \
13+
--hash=sha256:204a8238afe787323a8b47d8be4df89772d5c1e4651b9ffa808552bdf20e1d50 \
14+
--hash=sha256:2396e8116db77789f819d2bc8a7e200232b7a282c66e0ae2d2cd84581a89757e \
15+
--hash=sha256:254f1a3b1eef5f7ed23ef265eaa89c65c8c5b6b257327c149db1ca9d4a35f25e \
16+
--hash=sha256:26bcf5c4df41cad1b19c84af71c22cbc9ea9a547fc973f1f2cc9a290002c8b3c \
17+
--hash=sha256:27c6e64726b307782fa5cbe531e7647aee385a29b2107cd87ba7c0105a5d3853 \
18+
--hash=sha256:299e91b274c5c9cdb64cbdf1b3e4a8fe538a7a86acdd08fae52301b28ba297f8 \
19+
--hash=sha256:2bcfa46d7709b5a7ffe089075799b902020b62e7ee56ebaed2f4bdac04c508d8 \
20+
--hash=sha256:2ccf240eb719789cedbb9fd1338055de2761088202a9a0b73032857e53f612fe \
21+
--hash=sha256:32ee6d8491fcfc82652a37109f69dee9a830e9379166cb73c16d8dc5c2915165 \
22+
--hash=sha256:3f7b444c42bbc533aaae6b5a2166fd1a797cdb5eb58ee51a92bee1eb94a1e1cb \
23+
--hash=sha256:457574f4599d2b00f7f637a0700a6422243b3565509457b2dbd3f50703e11f59 \
24+
--hash=sha256:489a01f94aa581dbd961f306e37d75d4ba16104bbfa2b0edb21d29b73be83609 \
25+
--hash=sha256:4bcc276261505d82f0ad426870c3b12cb177752834a633e737ec5ee79bbdff18 \
26+
--hash=sha256:4e0de1e902669dccbf80b0415fb6b43d27edca2fbd48c74da378923b05316098 \
27+
--hash=sha256:4e4630c26b6084c9b3cb53b15bd488f30ceb50b73c35c5ad7871b869cb7365fd \
28+
--hash=sha256:4eea95ef275de7abaef630c9b2c002ffbc01918b726a39f5a4353916ec72d2f3 \
29+
--hash=sha256:507a20fc863cae1d5720797761b42d2d87a04b3e5aeb682ef3b7332e90598f43 \
30+
--hash=sha256:54a5f0f43950a36312155dae55c505a76cd7f2b12d26abeebbe7a0b36dbc868d \
31+
--hash=sha256:55b201b97286cf61f5e76063f9e2a1d8d2972fc2fcfd2c1272530172fd28c359 \
32+
--hash=sha256:59af35558ba08b758aec4d56182b222976330ef8d2feacbb93964f576a7e7a90 \
33+
--hash=sha256:5c912978f7fbf47ef99cec50c4401340436d200d41d714c7a4766f377c5b7b78 \
34+
--hash=sha256:656c82b8a0ead8bba147de9a89bda95064874c91a3ed43a00e687f23cc19d53a \
35+
--hash=sha256:6713ba4b4ebc330f3def51df1d5d38fad60b66720948112f114968feb52d3f99 \
36+
--hash=sha256:675cefc4c06e3b4c876b85bfb7c59c5e2218167bbd4da5075cbe3b5790a28988 \
37+
--hash=sha256:6f93531882a5f68c28090f901b1d135de61b56331bba82028489bc51bdd818d2 \
38+
--hash=sha256:714f942b9c15c3a7a5fe6876ce30af831c2ad4ce902410b7466b662358c852c0 \
39+
--hash=sha256:79109c70cc0882e4d2d002fe69a24aa504dec0cc17169b3c7f41a1d341a73694 \
40+
--hash=sha256:7bbd8c8f1b115b892e34ba66a097b915d3871db7ce0e6b9901f462ff3a975377 \
41+
--hash=sha256:7ed2f37cfce1ce101e6dffdfd1c99e729dd2ffc291d02d3e2d0af8b53d13840d \
42+
--hash=sha256:7fb105327c8f8f0682e29843e2ff96af9dcbe5bab8eeb4b398c6a33a16d80a23 \
43+
--hash=sha256:89d76815a26197c858f53c7f6a656686ec392b25991f9e409bcef020cd532312 \
44+
--hash=sha256:9a7cfb50515f87f7ed30bc882f68812fd98bc2852957df69f3003d22a2aa0abf \
45+
--hash=sha256:9e1747bab246d6ff2c4f28b4d186b205adced9f7bd9dc362051cc37c4a0c7bd6 \
46+
--hash=sha256:9e80eba8801c386f72e0712a0453431259c45c3249f0009aff537a517b52942b \
47+
--hash=sha256:a01ec4af7dfeb96ff0078ad9a48810bb0cc8abcb0115180c6013a6b26237626c \
48+
--hash=sha256:a372c89c939d57abe09e08c0578c1d212e7a678135d53aa16eec4430adc5e690 \
49+
--hash=sha256:a3b204c11e2b2d883946fe1d97f89403aa1811df28ce0447439178cc7463448a \
50+
--hash=sha256:a534738b47b0de1995f85f582d983d94031dffb48ab86c95bdf88dc62212142f \
51+
--hash=sha256:a5e37dc41d57ceba70956fa2fc5b63c26dba863c946ace9705f8eca99daecdc4 \
52+
--hash=sha256:aa744da1820678b475e4ba3dfd994c321c5b13381d1041fe9c608620e6676e25 \
53+
--hash=sha256:ab32947f481f7e8c763fa2c92fd9f44eeb143e7610c4ca9ecd6a36adab4081bd \
54+
--hash=sha256:abb02e2f5a3187b2ac4cd46b8ced85a0858230b577ccb2c62c81482ca7d18852 \
55+
--hash=sha256:b330368cb99ef72fcd2dc3ed260adf67b31499584dc8a20225e85bfe6f6cfed0 \
56+
--hash=sha256:bc67deb76bc3717f22e765ab3e07ee9c7a5e26b9019ca19a3b063d9f4b874244 \
57+
--hash=sha256:c0b1818063dc9e9d838c09e3a473c1422f517889436dd980f5d721899e66f315 \
58+
--hash=sha256:c56e097019e72c373bae32d946ecf9858fda841e48d82df7e81c63ac25554078 \
59+
--hash=sha256:c7827a5bc7bdb197b9e066cdf650b2887597ad124dd99777332776f7b7c7d0d0 \
60+
--hash=sha256:ccc2b70a7ed475c68ceb548bf69cec1e27305c1c2606a5eb7c3afff56a1b3b27 \
61+
--hash=sha256:d37a84878285b903c0fe21ac8794c6dab58150e9359f1aaebbeddd6412d53132 \
62+
--hash=sha256:e2f0280519e42b0a17550072861e0bc8a80a0870de260f9796157d3fca2733c5 \
63+
--hash=sha256:e4ae5ac5e0d1e4edfc9b4b57b4cbecd5bc266a6915c500f358817a8496739247 \
64+
--hash=sha256:e67926f51821b8e9deb6426ff3164870976fe414d033ad90ea75e7ed0c2e5022 \
65+
--hash=sha256:e78b270eadb5702938c3dbe9367f878249b5ef9a2fcc5360ac7bff694310d17b \
66+
--hash=sha256:ea3c8f04b3e4af80e17bab607c386a830ffc2fb88a5484e1df756478cf70d1d3 \
67+
--hash=sha256:ec22b5e7fe7a0fa8509181c4aac1db48f3dd4d3a566131b313d1efc102892c18 \
68+
--hash=sha256:f4f620668dbc6f5e909a0946a877310fb3d57aea8198bde792aae369ee1c23b5 \
69+
--hash=sha256:fd34e7b3405f0cc7ab03d54a334c17a9e802897580d964bd8c2001f4b9fd488f
70+
# via -r requirements.in
71+
django==5.2a1 \
72+
--hash=sha256:34b39e8508364f816415e3c8f032445a1bb49d37069db8aa300886ce821735e4 \
73+
--hash=sha256:ed895284801c58a415944f0efd6821e709260d029f5d74b93db9dccb650a8d50
74+
# via
75+
# -r requirements.in
76+
# django-jsonfield-backport
77+
# django-testdata
78+
django-jsonfield-backport==1.0.5 \
79+
--hash=sha256:40c39b1f1bade47bd2715664de14983f2e0a96175f65abbad2688029c255c685 \
80+
--hash=sha256:727b402bad632e38539b489e48aefa6ffe03cedba76ac1f11b455423b3225a2d
81+
# via -r requirements.in
82+
django-testdata==1.0.3 \
83+
--hash=sha256:2e782d999eff3118e07353a2d9f8d0a39b58c8f365c3efa1efe0043330731eb9 \
84+
--hash=sha256:5e1713fabd89e4c0b4ed10f79870b17118f4f343dc9c5d233f86b97f38419db0
85+
# via -r requirements.in
86+
exceptiongroup==1.2.2 \
87+
--hash=sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b \
88+
--hash=sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc
89+
# via pytest
90+
flake8==7.1.1 \
91+
--hash=sha256:049d058491e228e03e67b390f311bbf88fce2dbaa8fa673e7aea87b7198b8d38 \
92+
--hash=sha256:597477df7860daa5aa0fdd84bf5208a043ab96b8e96ab708770ae0364dd03213
93+
# via pytest-flake8-path
94+
iniconfig==2.0.0 \
95+
--hash=sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3 \
96+
--hash=sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374
97+
# via pytest
98+
mariadb-dyncol==3.6.1 \
99+
--hash=sha256:843cc1cd56e6e696e75331f644cfc30ff9f20a40741267ed3cf86a2093994804 \
100+
--hash=sha256:cc63fe28fa5dad4d843f665fad0ae091db3756f0a51d1fded5b2861304359724
101+
# via -r requirements.in
102+
mccabe==0.7.0 \
103+
--hash=sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325 \
104+
--hash=sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e
105+
# via flake8
106+
mysqlclient==2.2.7 \
107+
--hash=sha256:199dab53a224357dd0cb4d78ca0e54018f9cee9bf9ec68d72db50e0a23569076 \
108+
--hash=sha256:201a6faa301011dd07bca6b651fe5aaa546d7c9a5426835a06c3172e1056a3c5 \
109+
--hash=sha256:24ae22b59416d5fcce7e99c9d37548350b4565baac82f95e149cac6ce4163845 \
110+
--hash=sha256:2e3c11f7625029d7276ca506f8960a7fd3c5a0a0122c9e7404e6a8fe961b3d22 \
111+
--hash=sha256:4b4c0200890837fc64014cc938ef2273252ab544c1b12a6c1d674c23943f3f2e \
112+
--hash=sha256:92af368ed9c9144737af569c86d3b6c74a012a6f6b792eb868384787b52bb585 \
113+
--hash=sha256:977e35244fe6ef44124e9a1c2d1554728a7b76695598e4b92b37dc2130503069 \
114+
--hash=sha256:a22d99d26baf4af68ebef430e3131bb5a9b722b79a9fcfac6d9bbf8a88800687
115+
# via -r requirements.in
116+
packaging==24.2 \
117+
--hash=sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 \
118+
--hash=sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f
119+
# via pytest
120+
parameterized==0.9.0 \
121+
--hash=sha256:4e0758e3d41bea3bbd05ec14fc2c24736723f243b28d702081aef438c9372b1b \
122+
--hash=sha256:7fc905272cefa4f364c1a3429cbbe9c0f98b793988efb5bf90aac80f08db09b1
123+
# via -r requirements.in
124+
pluggy==1.5.0 \
125+
--hash=sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1 \
126+
--hash=sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669
127+
# via pytest
128+
pycodestyle==2.12.1 \
129+
--hash=sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3 \
130+
--hash=sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521
131+
# via flake8
132+
pyflakes==3.2.0 \
133+
--hash=sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f \
134+
--hash=sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a
135+
# via flake8
136+
pytest==8.3.4 \
137+
--hash=sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6 \
138+
--hash=sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761
139+
# via
140+
# -r requirements.in
141+
# pytest-django
142+
# pytest-flake8-path
143+
# pytest-randomly
144+
pytest-django==4.9.0 \
145+
--hash=sha256:1d83692cb39188682dbb419ff0393867e9904094a549a7d38a3154d5731b2b99 \
146+
--hash=sha256:8bf7bc358c9ae6f6fc51b6cebb190fe20212196e6807121f11bd6a3b03428314
147+
# via -r requirements.in
148+
pytest-flake8-path==1.6.0 \
149+
--hash=sha256:40bb85c806630e37097a45c4e67130b9655efbb81904a9bfa89b1e23bc2529a5 \
150+
--hash=sha256:dafc81dc8f2ba49060a45139caa153fba291163d670c00ae20e194989b73a34e
151+
# via -r requirements.in
152+
pytest-randomly==3.16.0 \
153+
--hash=sha256:11bf4d23a26484de7860d82f726c0629837cf4064b79157bd18ec9d41d7feb26 \
154+
--hash=sha256:8633d332635a1a0983d3bba19342196807f6afb17c3eef78e02c2f85dade45d6
155+
# via -r requirements.in
156+
sqlparse==0.5.3 \
157+
--hash=sha256:09f67787f56a0b16ecdbde1bfc7f5d9c3371ca683cfeaa8e6ff60b4807ec9272 \
158+
--hash=sha256:cf2196ed3418f3ba5de6af7e82c694a9fbdbfecccdfc72e281548517081f16ca
159+
# via django
160+
tomli==2.2.1 \
161+
--hash=sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6 \
162+
--hash=sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd \
163+
--hash=sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c \
164+
--hash=sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b \
165+
--hash=sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8 \
166+
--hash=sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6 \
167+
--hash=sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77 \
168+
--hash=sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff \
169+
--hash=sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea \
170+
--hash=sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192 \
171+
--hash=sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249 \
172+
--hash=sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee \
173+
--hash=sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4 \
174+
--hash=sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98 \
175+
--hash=sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8 \
176+
--hash=sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4 \
177+
--hash=sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281 \
178+
--hash=sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744 \
179+
--hash=sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69 \
180+
--hash=sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13 \
181+
--hash=sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140 \
182+
--hash=sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e \
183+
--hash=sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e \
184+
--hash=sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc \
185+
--hash=sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff \
186+
--hash=sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec \
187+
--hash=sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2 \
188+
--hash=sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222 \
189+
--hash=sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106 \
190+
--hash=sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272 \
191+
--hash=sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a \
192+
--hash=sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7
193+
# via
194+
# coverage
195+
# pytest
196+
typing-extensions==4.12.2 \
197+
--hash=sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d \
198+
--hash=sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8
199+
# via
200+
# -r requirements.in
201+
# asgiref

0 commit comments

Comments
 (0)