Skip to content

Commit 689fb7f

Browse files
authored
Django3 supported (#88)
* Update routing_read_strategies.py * Update sharding_functions.py * Update test_fields.py * Update test_sharding_functions.py * Update decorators.py * Update test_routing_read_strategies.py * Update test_id_generation_strategies.py * Update common.txt * Update CHANGES.md * Update setup.py * Update config.yml * Update setup.py
1 parent a8c97aa commit 689fb7f

11 files changed

+45
-11
lines changed

.circleci/config.yml

+26
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,31 @@ jobs:
100100
- store_test_results:
101101
path: /tmp/test-reports/
102102

103+
django-3-0:
104+
executor:
105+
name: python/default
106+
tag: 3.8.0
107+
steps:
108+
- checkout
109+
- python/load-cache:
110+
key: python-cache-latest
111+
- python/install-deps
112+
- python/save-cache:
113+
key: python-cache-latest
114+
- run:
115+
command: pip install --user -U "Django>=3,<3.1"
116+
name: Install Django
117+
- run: mkdir /tmp/test-reports
118+
- run:
119+
command: |
120+
python -m pytest \
121+
-vv \
122+
--junitxml /tmp/test-reports/xunit.xml \
123+
--durations 10
124+
name: Test
125+
- store_test_results:
126+
path: /tmp/test-reports/
127+
103128
django-latest:
104129
executor:
105130
name: python/default
@@ -135,4 +160,5 @@ workflows:
135160
- django-2-1
136161
- django-2-2
137162
- django-1-11
163+
- django-3-0
138164
- django-latest

CHANGES.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
Changelog
22
=========
33

4+
5.1.0 (December 10th 2019)
5+
------------------
6+
7+
- Allow django>=3,<4
8+
9+
410
5.0.0 (November 30th 2019)
511
------------------
612

django_sharding_library/decorators.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1+
from six import iteritems
2+
13
from django.conf import settings
24
from django.apps import apps
35
from django_sharding_library.constants import Backends
4-
from django.utils.six import iteritems
56

67
from django_sharding_library.exceptions import NonExistentDatabaseException, ShardedModelInitializationException
78
from django_sharding_library.fields import ShardedIDFieldMixin, BasePostgresShardGeneratedIDField

django_sharding_library/routing_read_strategies.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
from itertools import cycle
22
from random import choice, randint
3-
4-
from django.utils.six import next, viewitems
3+
from six import next, viewitems
54

65

76
class BaseRoutingStrategy(object):

django_sharding_library/sharding_functions.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
from itertools import cycle
22
from random import choice, randint
3-
4-
from django.utils.six import next
3+
from six import next
54

65

76
class BaseBucketingStrategy(object):

requirements/common.txt

+1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
django-environ<1.0.0
2+
six

setup.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from setuptools import setup, find_packages
22

3-
version = '5.0.0'
3+
version = '5.1.0'
44

55

66
def get_requirements(file_path):
@@ -18,7 +18,7 @@ def get_requirements(file_path):
1818
url='https://github.com/JBKahn/django-sharding',
1919
packages=find_packages(exclude=['tests']),
2020
include_package_data=True,
21-
install_requires=get_requirements('requirements/common.txt') + ["django>=1.11,<3.0.0"],
21+
install_requires=get_requirements('requirements/common.txt') + ["django>=1.11,<4.0.0"],
2222
tests_require=get_requirements('requirements/development.txt'),
2323
setup_requires=[
2424
'pytest-runner',

tests/test_fields.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
from mock import patch
2+
from six.moves import xrange
23
import unittest
34

45
from django.conf import settings
56
from django.db import connections
67
from django.db.utils import DataError, IntegrityError
78
from django.db.models import CASCADE
89
from django.test import TestCase
9-
from django.utils.six.moves import xrange
1010

1111
import time
1212
from datetime import datetime

tests/test_id_generation_strategies.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
from random import choice
2+
from six.moves import xrange
23
from uuid import UUID
34

45
from django.conf import settings
56
from django.test import TestCase
6-
from django.utils.six.moves import xrange
77

88
from tests.models import ShardedModelIDs
99
from django_sharding_library.id_generation_strategies import TableStrategy, UUIDStrategy

tests/test_routing_read_strategies.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
from six.moves import xrange
2+
13
from django.conf import settings
24
from django.test import TestCase
3-
from django.utils.six.moves import xrange
45

56
from django_sharding_library.routing_read_strategies import RoundRobinRoutingStrategy, PrimaryOnlyRoutingStrategy
67

tests/test_sharding_functions.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
from six.moves import xrange
2+
13
from django.conf import settings
24
from django.test import TestCase
3-
from django.utils.six.moves import xrange
45

56
from django_sharding_library.sharding_functions import (
67
BaseBucketingStrategy,

0 commit comments

Comments
 (0)