Merge pull request #298 from develtech/django-2.0

Django 2.0 support
This commit is contained in:
Tony Narlock 2017-12-10 19:23:31 -06:00 committed by GitHub
commit 749aa09ff2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 69 additions and 42 deletions

View file

@ -1,35 +1,59 @@
language: python
python: 2.7
env:
- TOXENV=py27-django18
- TOXENV=py27-django19
- TOXENV=py27-django110
- TOXENV=py27-django111
- TOXENV=py33-django18
- TOXENV=py34-django18
- TOXENV=py34-django19
- TOXENV=py34-django110
- TOXENV=py34-django111
- TOXENV=py35-django18
- TOXENV=py35-django19
- TOXENV=py35-django110
- TOXENV=py35-django111
- TOXENV=py35-django_trunk
- TOXENV=py36-django111
- TOXENV=py36-django_trunk
matrix:
fast_finish: true
include:
- python: 2.7
env: TOXENV=py27-django18
- python: 2.7
env: TOXENV=py27-django19
- python: 2.7
env: TOXENV=py27-django110
- python: 2.7
env: TOXENV=py27-django111
- python: 3.4
env: TOXENV=py34-django18
- python: 3.4
env: TOXENV=py34-django19
- python: 3.4
env: TOXENV=py34-django110
- python: 3.4
env: TOXENV=py34-django111
- python: 3.4
env: TOXENV=py34-django200
- python: 3.5
env: TOXENV=py35-django18
- python: 3.5
env: TOXENV=py35-django19
- python: 3.5
env: TOXENV=py35-django110
- python: 3.5
env: TOXENV=py35-django111
- python: 3.5
env: TOXENV=py35-django200
- python: 3.5
env: TOXENV=py35-djangotrunk
- python: 3.6
env: TOXENV=py36-django111
- python: 3.6
env: TOXENV=py36-django200
- python: 3.6
env: TOXENV=py36-djangotrunk
allow_failures:
- python: 3.5
env: TOXENV=py35-djangotrunk
- python: 3.6
env: TOXENV=py36-django111
- python: 3.6
env: TOXENV=py36-djangotrunk
install:
- pip install --upgrade pip setuptools tox virtualenv coveralls
- if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then export PYVER=py27; fi
- if [[ $TRAVIS_PYTHON_VERSION == '3.4' ]]; then export PYVER=py34; fi
- if [[ $TRAVIS_PYTHON_VERSION == '3.5' ]]; then export PYVER=py35; fi
- if [[ $TRAVIS_PYTHON_VERSION == '3.6' ]]; then export PYVER=py36; fi
script:
- tox
matrix:
allow_failures:
- env: TOXENV=py35-django_trunk
- env: TOXENV=py36-django111
- env: TOXENV=py36-django_trunk
script: COMMAND='coverage run' tox -e$TOXENV
after_success: coveralls

View file

@ -90,13 +90,25 @@ class InheritanceQuerySetMixin(object):
new_qs.subclasses = subclasses
return new_qs
def _clone(self, klass=None, setup=False, **kwargs):
def _chain(self, **kwargs):
for name in ['subclasses', '_annotated']:
if hasattr(self, name):
kwargs[name] = getattr(self, name)
return super(InheritanceQuerySetMixin, self)._chain(**kwargs)
def _clone(self, klass=None, setup=False, **kwargs):
if django.VERSION >= (2, 0):
return super(InheritanceQuerySetMixin, self)._clone()
for name in ['subclasses', '_annotated']:
if hasattr(self, name):
kwargs[name] = getattr(self, name)
if django.VERSION < (1, 9):
kwargs['klass'] = klass
kwargs['setup'] = setup
return super(InheritanceQuerySetMixin, self)._clone(**kwargs)
def annotate(self, *args, **kwargs):
@ -235,7 +247,6 @@ class InheritanceQuerySet(InheritanceQuerySetMixin, QuerySet):
class InheritanceManagerMixin(object):
use_for_related_fields = True
_queryset_class = InheritanceQuerySet
def get_queryset(self):
@ -253,7 +264,6 @@ class InheritanceManager(InheritanceManagerMixin, models.Manager):
class QueryManagerMixin(object):
use_for_related_fields = True
def __init__(self, *args, **kwargs):
if args:

17
tox.ini
View file

@ -1,26 +1,19 @@
[tox]
envlist =
py27-django{18,19,110,111},
py33-django{18},
py34-django{18,19,110,111},
py35-django{18,19,110,111,_trunk},
py36-django{111,_trunk},
py34-django{18,19,110,111,200},
py35-django{18,19,110,111,200,trunk},
py36-django{111,200,trunk},
[testenv]
basepython =
py27: python2.7
py33: python3.3
py34: python3.4
py35: python3.5
py36: python3.6
deps =
coverage == 3.6
django18: Django>=1.8,<1.9
django19: Django>=1.9,<1.10
django110: Django>=1.10,<1.11
django111: Django>=1.11,<1.12
django_trunk: https://github.com/django/django/tarball/master
django200: Django>=2.0,<2.1
djangotrunk: https://github.com/django/django/tarball/master
freezegun == 0.3.8
commands = coverage run -a runtests.py