From b354d90c20cc02adbdb4557e32e095e16a89e9b8 Mon Sep 17 00:00:00 2001 From: Hasan Ramezani Date: Wed, 17 Aug 2022 22:49:23 +0200 Subject: [PATCH] Drop support for `Django < 3.2` --- CHANGES.rst | 1 + README.rst | 2 +- docs/setup.rst | 2 +- setup.py | 4 +--- tests/models.py | 11 +++-------- tox.ini | 3 --- 6 files changed, 7 insertions(+), 16 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index ae2be54..11bba6c 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -8,6 +8,7 @@ Unreleased - Add Spanish translation - Add French translation - Drop Django 1.7 workaround from `select_subclasses()` +- Drop support for `Django < 3.2` 4.2.0 (2021-10-11) ------------------ diff --git a/README.rst b/README.rst index c07f109..7516a00 100644 --- a/README.rst +++ b/README.rst @@ -20,7 +20,7 @@ django-model-utils Django model mixins and utilities. -``django-model-utils`` supports `Django`_ 2.2+. +``django-model-utils`` supports `Django`_ 3.2+. .. _Django: http://www.djangoproject.com/ diff --git a/docs/setup.rst b/docs/setup.rst index 06d274c..f94d72c 100644 --- a/docs/setup.rst +++ b/docs/setup.rst @@ -17,7 +17,7 @@ modify your ``INSTALLED_APPS`` setting. Dependencies ============ -``django-model-utils`` supports `Django`_ 2.2, 3.1 and 3.2 (latest bugfix +``django-model-utils`` supports `Django`_ 3.2+ (latest bugfix release in each series only) on Python 3.6+. .. _Django: http://www.djangoproject.com/ diff --git a/setup.py b/setup.py index 3798bda..49b5cdd 100644 --- a/setup.py +++ b/setup.py @@ -29,7 +29,7 @@ setup( maintainer='JazzBand', url='https://github.com/jazzband/django-model-utils', packages=find_packages(exclude=['tests*']), - install_requires=['Django>=2.2'], + install_requires=['Django>=3.2'], classifiers=[ 'Development Status :: 5 - Production/Stable', 'Environment :: Web Environment', @@ -44,8 +44,6 @@ setup( 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Framework :: Django', - 'Framework :: Django :: 2.2', - 'Framework :: Django :: 3.1', 'Framework :: Django :: 3.2', 'Framework :: Django :: 4.0', ], diff --git a/tests/models.py b/tests/models.py index c789267..d785e88 100644 --- a/tests/models.py +++ b/tests/models.py @@ -1,4 +1,3 @@ -import django from django.db import models from django.db.models import Manager from django.db.models.query_utils import DeferredAttribute @@ -387,13 +386,9 @@ class StringyDescriptor: return self if self.name in obj.get_deferred_fields(): # This queries the database, and sets the value on the instance. - if django.VERSION < (3, 0): - DeferredAttribute(field_name=self.name).__get__(obj, cls) - else: - # Since Django 3.0, DeferredAttribute wants a field argument. - fields_map = {f.name: f for f in cls._meta.fields} - field = fields_map[self.name] - DeferredAttribute(field=field).__get__(obj, cls) + fields_map = {f.name: f for f in cls._meta.fields} + field = fields_map[self.name] + DeferredAttribute(field=field).__get__(obj, cls) return str(obj.__dict__[self.name]) def __set__(self, obj, value): diff --git a/tox.ini b/tox.ini index 40a0556..6022975 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,5 @@ [tox] envlist = - py{36,37,38,39}-dj{22,31} py{36,37,38,39,310}-dj32 py{38,39,310}-dj{40,main} flake8 @@ -18,8 +17,6 @@ python = deps = freezegun==0.3.12 -rrequirements-test.txt - dj22: Django==2.2.* - dj31: Django==3.1.* dj32: Django==3.2.* dj40: Django==4.0.* djmain: https://github.com/django/django/archive/main.tar.gz