From 26fac56e315def54918e383aba31b2110fdc8828 Mon Sep 17 00:00:00 2001 From: Diederik van der Boor Date: Thu, 11 Jul 2019 21:57:08 +0200 Subject: [PATCH] Squash Merge PR #379 for Django 2.2 support Author: Asif Saif Uddin Author: jeff --- .travis.yml | 50 +++++++++++++++++++++-------------- README.rst | 2 +- polymorphic/formsets/utils.py | 4 +-- polymorphic/tests/test_orm.py | 2 +- setup.cfg | 3 +++ 5 files changed, 37 insertions(+), 24 deletions(-) diff --git a/.travis.yml b/.travis.yml index c8b9d74..03cfd93 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,6 @@ # https://travis-ci.org/django-polymorphic/django-polymorphic dist: xenial +cache: pip sudo: false language: python @@ -28,27 +29,36 @@ addons: matrix: fast_finish: true include: - - python: "2.7" - env: TOXENV=py27-django111 - - python: "3.5" - env: TOXENV=py35-django111 - - python: "3.5" - env: TOXENV=py35-django20 - - python: "3.5" - env: TOXENV=py35-djangomaster - exclude: - - python: "3.6" - env: TOXENV=py27-django111 - - python: "3.6" - env: TOXENV=py35-django111 - - python: "3.6" - env: TOXENV=py35-django20 - - python: "3.6" - env: TOXENV=py35-djangomaster + # Django 1.11: Python 2.7, 3.4, 3.5, or 3.6 + - { env: TOXENV=py27-django111, python: 2.7 } + - { env: TOXENV=py34-django111, python: 3.4 } + - { env: TOXENV=py35-django111, python: 3.5 } + - { env: TOXENV=py36-django111, python: 3.6 } + - { env: TOXENV=py36-django111-postgres DB=postgres, python: 3.6 } + # Django 2.0: Python 3.4, 3.5, or 3.6 + - { env: TOXENV=py34-django20, python: 3.4 } + - { env: TOXENV=py35-django20, python: 3.5 } + - { env: TOXENV=py36-django20, python: 3.6 } + - { env: TOXENV=py36-django20-postgres DB=postgres, python: 3.6 } + # Django 2.1: Python 3.6, or 3.7 + - { env: TOXENV=py36-django21, python: 3.6 } + - { env: TOXENV=py37-django21, python: 3.7 } + - { env: TOXENV=py37-django21-postgres DB=postgres, python: 3.7 } + # Django 2.2: Python 3.6, or 3.7 + - { env: TOXENV=py36-django22, python: 3.6 } + - { env: TOXENV=py37-django22, python: 3.7 } + - { env: TOXENV=py37-django22-postgres DB=postgres, python: 3.7 } + # Django development master (direct from GitHub source): + - { env: TOXENV=py35-djangomaster, python: 3.5 } + - { env: TOXENV=py36-djangomaster, python: 3.6 } + - { env: TOXENV=py37-djangomaster, python: 3.7 } + - { env: TOXENV=py37-djangomaster-postgres DB=postgres, python: 3.7 } + allow_failures: - - env: TOXENV=py35-djangomaster - - env: TOXENV=py36-djangomaster - - env: TOXENV=py36-djangomaster-postgres DB=postgres + - { env: TOXENV=py35-djangomaster, python: 3.5 } + - { env: TOXENV=py36-djangomaster, python: 3.6 } + - { env: TOXENV=py37-djangomaster, python: 3.7 } + - { env: TOXENV=py37-djangomaster-postgres DB=postgres, python: 3.7 } cache: directories: diff --git a/README.rst b/README.rst index 3d96553..e45b971 100644 --- a/README.rst +++ b/README.rst @@ -60,7 +60,7 @@ Django to perform an ``INNER JOIN`` to fetch the model fields from the database. While taking this in mind, there are valid reasons for using subclassed models. That's what this library is designed for! -The current release of *django-polymorphic* supports Django 1.11, 2.0 and Python 2.7 and 3.4+ is supported. +The current release of *django-polymorphic* supports Django 1.11, 2.0, 2.1, 2.2 and Python 2.7 and 3.4+ is supported. For older Django versions, install *django-polymorphic==1.3*. For more information, see the `documentation at Read the Docs `_. diff --git a/polymorphic/formsets/utils.py b/polymorphic/formsets/utils.py index 102c15a..f78aee7 100644 --- a/polymorphic/formsets/utils.py +++ b/polymorphic/formsets/utils.py @@ -9,8 +9,8 @@ def add_media(dest, media): Optimized version of django.forms.Media.__add__() that doesn't create new objects. """ if django.VERSION >= (2, 2): - dest._css_lists += media._css_lists - dest._js_lists += media._js_lists + dest._css_lists.extend(media._css_lists) + dest._js_lists.extend(media._js_lists) elif django.VERSION >= (2, 0): combined = dest + media dest._css = combined._css diff --git a/polymorphic/tests/test_orm.py b/polymorphic/tests/test_orm.py index 82fcfbb..fa08165 100644 --- a/polymorphic/tests/test_orm.py +++ b/polymorphic/tests/test_orm.py @@ -226,7 +226,7 @@ class PolymorphicTests(TransactionTestCase): def test_defer_fields(self): self.create_model2abcd() - objects_deferred = Model2A.objects.defer('field1') + objects_deferred = Model2A.objects.defer('field1').order_by('id') self.assertNotIn('field1', objects_deferred[0].__dict__, 'field1 was not deferred (using defer())') self.assertRegex(repr(objects_deferred[0]), diff --git a/setup.cfg b/setup.cfg index 752de76..e9e04db 100644 --- a/setup.cfg +++ b/setup.cfg @@ -16,6 +16,8 @@ classifiers = Framework :: Django Framework :: Django :: 1.11 Framework :: Django :: 2.0 + Framework :: Django :: 2.1 + Framework :: Django :: 2.2 Intended Audience :: Developers License :: OSI Approved :: BSD License Operating System :: OS Independent @@ -24,6 +26,7 @@ classifiers = Programming Language :: Python :: 3.4 Programming Language :: Python :: 3.5 Programming Language :: Python :: 3.6 + Programming Language :: Python :: 3.7 Topic :: Database [options]