Skip to content

Commit e57257c

Browse files
authored
Merge pull request #196 from PetrDlouhy/no_jsonfield
Remove dependency on jsonfield, use Django builtin JSONField
2 parents 1da4c08 + a42f124 commit e57257c

File tree

4 files changed

+12
-7
lines changed

4 files changed

+12
-7
lines changed

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ Dependencies
3232
------------
3333
- `Django <https://github.com/django/django/>`_
3434
- `Redis <http://redis.io/>`_
35-
- `jsonfield <https://github.com/bradjasper/django-jsonfield/>`_
3635
- `django-modeldict <https://github.com/disqus/django-modeldict>`_
3736

3837
(Detailed list in setup.py)
@@ -364,6 +363,7 @@ UNRELEASED
364363
- Add `setup.cfg` to support building of universal wheels (preparing for Python 3)
365364
- Tox runs `python setup.py test` (honouring both `install_requires` and `tests_require`)
366365
- Prepared `tox.ini` for Python 3 and Django 1.11 compatibility
366+
- Remove dependency on jsonfield, use Django builtin JSONField
367367

368368
1.2.0
369369
~~~~~

experiments/migrations/0001_initial.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
# -*- coding: utf-8 -*-
22
from __future__ import unicode_literals
33

4+
try:
5+
from django.db.models import JSONField
6+
except ImportError: # Django < 3.1
7+
from jsonfield import JSONField
8+
49
from django.db import models, migrations
510
import django.utils.timezone
6-
import jsonfield.fields
711
from django.conf import settings
812

913

@@ -28,7 +32,7 @@ class Migration(migrations.Migration):
2832
fields=[
2933
('name', models.CharField(max_length=128, serialize=False, primary_key=True)),
3034
('description', models.TextField(default=b'', null=True, blank=True)),
31-
('alternatives', jsonfield.fields.JSONField(default={}, blank=True)),
35+
('alternatives', JSONField(default={}, blank=True)),
3236
('relevant_chi2_goals', models.TextField(default=b'', null=True, blank=True)),
3337
('relevant_mwu_goals', models.TextField(default=b'', null=True, blank=True)),
3438
('state', models.IntegerField(default=0, choices=[(0, b'Default/Control'), (1, b'Enabled'), (3, b'Track')])),

experiments/models.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@
33
from django.core.serializers.json import DjangoJSONEncoder
44
from django.conf import settings
55

6-
from jsonfield import JSONField
7-
86
import random
97
import json
8+
try:
9+
from django.db.models import JSONField
10+
except ImportError: # Django < 3.1
11+
from jsonfield import JSONField
1012

1113
from experiments.counters import Counters
1214
from experiments.dateutils import now
@@ -27,7 +29,7 @@
2729
class Experiment(models.Model):
2830
name = models.CharField(primary_key=True, max_length=128)
2931
description = models.TextField(default="", blank=True, null=True)
30-
alternatives = JSONField(default={}, blank=True)
32+
alternatives = models.JSONField(default={}, blank=True)
3133
relevant_chi2_goals = models.TextField(default="", null=True, blank=True)
3234
relevant_mwu_goals = models.TextField(default="", null=True, blank=True)
3335

setup.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
install_requires=[
2323
'django>=1.11',
2424
'django-modeldict-yplan>=1.5.0,<2',
25-
'jsonfield>=1.0.3,<3',
2625
'redis>=2.4.9',
2726
],
2827
tests_require=[

0 commit comments

Comments
 (0)