Skip to content

Commit 98d17f6

Browse files
committed
Drop support for Django 2.2.
1 parent 1964826 commit 98d17f6

File tree

7 files changed

+15
-48
lines changed

7 files changed

+15
-48
lines changed

README.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ In addition to the built-in panels, a number of third-party panels are
4545
contributed by the community.
4646

4747
The current stable version of the Debug Toolbar is 3.2.4. It works on
48-
Django ≥ 2.2.
48+
Django ≥ 3.2.
4949

5050
Documentation, including installation and configuration instructions, is
5151
available at https://django-debug-toolbar.readthedocs.io/.

docs/changes.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Change log
44
Next version
55
------------
66

7-
* Removed support for Django 3.1.
7+
* Removed support for Django < 3.2.
88

99
3.2.4 (2021-12-15)
1010
------------------

setup.cfg

+1-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ classifiers =
1414
Development Status :: 5 - Production/Stable
1515
Environment :: Web Environment
1616
Framework :: Django
17-
Framework :: Django :: 2.2
1817
Framework :: Django :: 3.2
1918
Framework :: Django :: 4.0
2019
Intended Audience :: Developers
@@ -33,7 +32,7 @@ classifiers =
3332
[options]
3433
python_requires = >=3.6
3534
install_requires =
36-
Django >= 2.2
35+
Django >= 3.2
3736
sqlparse >= 0.2.0
3837
packages = find:
3938
include_package_data = true

tests/models.py

+3-13
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from django.conf import settings
22
from django.db import models
3+
from django.db.models import JSONField
34

45

56
class NonAsciiRepr:
@@ -11,19 +12,8 @@ class Binary(models.Model):
1112
field = models.BinaryField()
1213

1314

14-
try:
15-
from django.db.models import JSONField
16-
except ImportError: # Django<3.1
17-
try:
18-
from django.contrib.postgres.fields import JSONField
19-
except ImportError: # psycopg2 not installed
20-
JSONField = None
21-
22-
23-
if JSONField:
24-
25-
class PostgresJSON(models.Model):
26-
field = JSONField()
15+
class PostgresJSON(models.Model):
16+
field = JSONField()
2717

2818

2919
if settings.USE_GIS:

tests/panels/test_sql.py

+2-16
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,7 @@
1515
from debug_toolbar import settings as dt_settings
1616

1717
from ..base import BaseTestCase
18-
19-
try:
20-
from psycopg2._json import Json as PostgresJson
21-
except ImportError:
22-
PostgresJson = None
23-
24-
if connection.vendor == "postgresql":
25-
from ..models import PostgresJSON as PostgresJSONModel
26-
else:
27-
PostgresJSONModel = None
18+
from ..models import PostgresJSON
2819

2920

3021
class SQLPanelTestCase(BaseTestCase):
@@ -160,7 +151,7 @@ def test_param_conversion(self):
160151
def test_json_param_conversion(self):
161152
self.assertEqual(len(self.panel._queries), 0)
162153

163-
list(PostgresJSONModel.objects.filter(field__contains={"foo": "bar"}))
154+
list(PostgresJSON.objects.filter(field__contains={"foo": "bar"}))
164155

165156
response = self.panel.process_request(self.request)
166157
self.panel.generate_stats(self.request, response)
@@ -171,11 +162,6 @@ def test_json_param_conversion(self):
171162
self.panel._queries[0][1]["params"],
172163
'["{\\"foo\\": \\"bar\\"}"]',
173164
)
174-
if django.VERSION < (3, 1):
175-
self.assertIsInstance(
176-
self.panel._queries[0][1]["raw_params"][0],
177-
PostgresJson,
178-
)
179165

180166
def test_binary_param_force_text(self):
181167
self.assertEqual(len(self.panel._queries), 0)

tests/test_forms.py

+1-7
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,11 @@
11
from datetime import datetime
22

3-
import django
43
from django import forms
54
from django.test import TestCase
65

76
from debug_toolbar.forms import SignedDataForm
87

9-
# Django 3.1 uses sha256 by default.
10-
SIGNATURE = (
11-
"v02QBcJplEET6QXHNWejnRcmSENWlw6_RjxLTR7QG9g"
12-
if django.VERSION >= (3, 1)
13-
else "ukcAFUqYhUUnqT-LupnYoo-KvFg"
14-
)
8+
SIGNATURE = "v02QBcJplEET6QXHNWejnRcmSENWlw6_RjxLTR7QG9g"
159

1610
DATA = {"value": "foo", "date": datetime(2020, 1, 1)}
1711
SIGNED_DATA = f'{{"date": "2020-01-01 00:00:00", "value": "foo"}}:{SIGNATURE}'

tox.ini

+6-8
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,11 @@
22
envlist =
33
docs
44
packaging
5-
py{36,37}-dj{22,32}-{sqlite,postgresql,postgis,mysql}
6-
py{38,39}-dj{22,32,40,main}-{sqlite,postgresql,postgis,mysql}
7-
py{310}-dj{32,40,main}-{sqlite,postgresql,postgis,mysql}
5+
py{36,37}-dj{32}-{sqlite,postgresql,postgis,mysql}
6+
py{38,39,310}-dj{32,40,main}-{sqlite,postgresql,postgis,mysql}
87

98
[testenv]
109
deps =
11-
dj22: django~=2.2.17
1210
dj32: django~=3.2.9
1311
dj40: django~=4.0.0
1412
sqlite: mock
@@ -42,25 +40,25 @@ whitelist_externals = make
4240
pip_pre = True
4341
commands = make coverage TEST_ARGS='{posargs:tests}'
4442

45-
[testenv:py{36,37,38,39,310}-dj{22,32,40,main}-postgresql]
43+
[testenv:py{36,37,38,39,310}-dj{40,main}-postgresql]
4644
setenv =
4745
{[testenv]setenv}
4846
DB_BACKEND = postgresql
4947
DB_PORT = {env:DB_PORT:5432}
5048

51-
[testenv:py{36,37,38,39,310}-dj{22,32,40,main}-postgis]
49+
[testenv:py{36,37,38,39,310}-dj{32,40,main}-postgis]
5250
setenv =
5351
{[testenv]setenv}
5452
DB_BACKEND = postgis
5553
DB_PORT = {env:DB_PORT:5432}
5654

57-
[testenv:py{36,37,38,39,310}-dj{22,32,40,main}-mysql]
55+
[testenv:py{36,37,38,39,310}-dj{32,40,main}-mysql]
5856
setenv =
5957
{[testenv]setenv}
6058
DB_BACKEND = mysql
6159
DB_PORT = {env:DB_PORT:3306}
6260

63-
[testenv:py{36,37,38,39,310}-dj{22,32,40,main}-sqlite]
61+
[testenv:py{36,37,38,39,310}-dj{32,40,main}-sqlite]
6462
setenv =
6563
{[testenv]setenv}
6664
DB_BACKEND = sqlite3

0 commit comments

Comments
 (0)