Skip to content

Commit c938c91

Browse files
committed
Merge pull request #179 from helgi/jsonfields
chore(models): move from django-json-field to jsonfield for Django 1.9 compatibility
2 parents bb12aa9 + f99773b commit c938c91

4 files changed

Lines changed: 192 additions & 3 deletions

File tree

rootfs/api/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
from django.db.models.signals import post_delete, post_save
2525
from django.dispatch import receiver
2626
from django.utils.encoding import python_2_unicode_compatible
27-
from json_field.fields import JSONField
27+
from jsonfield import JSONField
2828
from OpenSSL import crypto
2929
import requests
3030
from rest_framework.authtoken.models import Token
Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
# -*- coding: utf-8 -*-
2+
from south.utils import datetime_utils as datetime
3+
from south.db import db
4+
from south.v2 import SchemaMigration
5+
from django.db import models
6+
7+
8+
class Migration(SchemaMigration):
9+
10+
def forwards(self, orm):
11+
12+
# Changing field 'Config.tags'
13+
db.alter_column(u'api_config', 'tags', self.gf('jsonfield.fields.JSONField')())
14+
15+
# Changing field 'Config.values'
16+
db.alter_column(u'api_config', 'values', self.gf('jsonfield.fields.JSONField')())
17+
18+
# Changing field 'Config.memory'
19+
db.alter_column(u'api_config', 'memory', self.gf('jsonfield.fields.JSONField')())
20+
21+
# Changing field 'Config.cpu'
22+
db.alter_column(u'api_config', 'cpu', self.gf('jsonfield.fields.JSONField')())
23+
24+
# Changing field 'Build.procfile'
25+
db.alter_column(u'api_build', 'procfile', self.gf('jsonfield.fields.JSONField')())
26+
27+
# Changing field 'App.structure'
28+
db.alter_column(u'api_app', 'structure', self.gf('jsonfield.fields.JSONField')())
29+
30+
def backwards(self, orm):
31+
32+
# Changing field 'Config.tags'
33+
db.alter_column(u'api_config', 'tags', self.gf('json_field.fields.JSONField')())
34+
35+
# Changing field 'Config.values'
36+
db.alter_column(u'api_config', 'values', self.gf('json_field.fields.JSONField')())
37+
38+
# Changing field 'Config.memory'
39+
db.alter_column(u'api_config', 'memory', self.gf('json_field.fields.JSONField')())
40+
41+
# Changing field 'Config.cpu'
42+
db.alter_column(u'api_config', 'cpu', self.gf('json_field.fields.JSONField')())
43+
44+
# Changing field 'Build.procfile'
45+
db.alter_column(u'api_build', 'procfile', self.gf('json_field.fields.JSONField')())
46+
47+
# Changing field 'App.structure'
48+
db.alter_column(u'api_app', 'structure', self.gf('json_field.fields.JSONField')())
49+
50+
models = {
51+
u'api.app': {
52+
'Meta': {'object_name': 'App'},
53+
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
54+
'id': ('django.db.models.fields.SlugField', [], {'default': "u'wicker-valkyrie'", 'unique': 'True', 'max_length': '24'}),
55+
'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}),
56+
'structure': ('jsonfield.fields.JSONField', [], {'default': '{}', 'blank': 'True'}),
57+
'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
58+
'uuid': ('api.fields.UuidField', [], {'unique': 'True', 'max_length': '32', 'primary_key': 'True'})
59+
},
60+
u'api.build': {
61+
'Meta': {'ordering': "[u'-created']", 'unique_together': "((u'app', u'uuid'),)", 'object_name': 'Build'},
62+
'app': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['api.App']"}),
63+
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
64+
'dockerfile': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
65+
'image': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
66+
'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}),
67+
'procfile': ('jsonfield.fields.JSONField', [], {'default': '{}', 'blank': 'True'}),
68+
'sha': ('django.db.models.fields.CharField', [], {'max_length': '40', 'blank': 'True'}),
69+
'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
70+
'uuid': ('api.fields.UuidField', [], {'unique': 'True', 'max_length': '32', 'primary_key': 'True'})
71+
},
72+
u'api.certificate': {
73+
'Meta': {'object_name': 'Certificate'},
74+
'certificate': ('django.db.models.fields.TextField', [], {}),
75+
'common_name': ('django.db.models.fields.TextField', [], {'unique': 'True'}),
76+
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
77+
'expires': ('django.db.models.fields.DateTimeField', [], {}),
78+
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
79+
'key': ('django.db.models.fields.TextField', [], {}),
80+
'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}),
81+
'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
82+
},
83+
u'api.config': {
84+
'Meta': {'ordering': "[u'-created']", 'unique_together': "((u'app', u'uuid'),)", 'object_name': 'Config'},
85+
'app': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['api.App']"}),
86+
'cpu': ('jsonfield.fields.JSONField', [], {'default': '{}', 'blank': 'True'}),
87+
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
88+
'memory': ('jsonfield.fields.JSONField', [], {'default': '{}', 'blank': 'True'}),
89+
'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}),
90+
'tags': ('jsonfield.fields.JSONField', [], {'default': '{}', 'blank': 'True'}),
91+
'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
92+
'uuid': ('api.fields.UuidField', [], {'unique': 'True', 'max_length': '32', 'primary_key': 'True'}),
93+
'values': ('jsonfield.fields.JSONField', [], {'default': '{}', 'blank': 'True'})
94+
},
95+
u'api.container': {
96+
'Meta': {'ordering': "[u'created']", 'object_name': 'Container'},
97+
'app': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['api.App']"}),
98+
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
99+
'num': ('django.db.models.fields.PositiveIntegerField', [], {}),
100+
'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}),
101+
'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['api.Release']"}),
102+
'type': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
103+
'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
104+
'uuid': ('api.fields.UuidField', [], {'unique': 'True', 'max_length': '32', 'primary_key': 'True'})
105+
},
106+
u'api.domain': {
107+
'Meta': {'object_name': 'Domain'},
108+
'app': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['api.App']"}),
109+
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
110+
'domain': ('django.db.models.fields.TextField', [], {'unique': 'True'}),
111+
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
112+
'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}),
113+
'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
114+
},
115+
u'api.key': {
116+
'Meta': {'unique_together': "((u'owner', u'fingerprint'),)", 'object_name': 'Key'},
117+
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
118+
'fingerprint': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
119+
'id': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
120+
'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}),
121+
'public': ('django.db.models.fields.TextField', [], {'unique': 'True'}),
122+
'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
123+
'uuid': ('api.fields.UuidField', [], {'unique': 'True', 'max_length': '32', 'primary_key': 'True'})
124+
},
125+
u'api.push': {
126+
'Meta': {'ordering': "[u'-created']", 'unique_together': "((u'app', u'uuid'),)", 'object_name': 'Push'},
127+
'app': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['api.App']"}),
128+
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
129+
'fingerprint': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
130+
'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}),
131+
'receive_repo': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
132+
'receive_user': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
133+
'sha': ('django.db.models.fields.CharField', [], {'max_length': '40'}),
134+
'ssh_connection': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
135+
'ssh_original_command': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
136+
'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
137+
'uuid': ('api.fields.UuidField', [], {'unique': 'True', 'max_length': '32', 'primary_key': 'True'})
138+
},
139+
u'api.release': {
140+
'Meta': {'ordering': "[u'-created']", 'unique_together': "((u'app', u'version'),)", 'object_name': 'Release'},
141+
'app': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['api.App']"}),
142+
'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['api.Build']", 'null': 'True'}),
143+
'config': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['api.Config']"}),
144+
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
145+
'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}),
146+
'summary': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
147+
'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
148+
'uuid': ('api.fields.UuidField', [], {'unique': 'True', 'max_length': '32', 'primary_key': 'True'}),
149+
'version': ('django.db.models.fields.PositiveIntegerField', [], {})
150+
},
151+
u'auth.group': {
152+
'Meta': {'object_name': 'Group'},
153+
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
154+
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
155+
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
156+
},
157+
u'auth.permission': {
158+
'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
159+
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
160+
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
161+
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
162+
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
163+
},
164+
u'auth.user': {
165+
'Meta': {'object_name': 'User'},
166+
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
167+
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
168+
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
169+
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}),
170+
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
171+
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
172+
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
173+
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
174+
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
175+
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
176+
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
177+
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}),
178+
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
179+
},
180+
u'contenttypes.contenttype': {
181+
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
182+
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
183+
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
184+
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
185+
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
186+
}
187+
}
188+
189+
complete_apps = ['api']

rootfs/deis/settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@
133133
# Third-party apps
134134
'django_auth_ldap',
135135
'guardian',
136-
'json_field',
136+
'jsonfield',
137137
'gunicorn',
138138
'rest_framework',
139139
'rest_framework.authtoken',

rootfs/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ django-cors-headers==1.0.0
55
# required for south migrations
66
django-fsm==2.2.0
77
django-guardian==1.2.5
8-
django-json-field==0.5.7
8+
jsonfield==1.0.3
99
django-auth-ldap==1.2.5
1010
djangorestframework==3.0.5
1111
docker-py==1.6.0

0 commit comments

Comments
 (0)