add jsonfield, links, etc

This commit is contained in:
Chris Forbes 2013-07-25 10:55:58 +12:00
parent 97a1a32648
commit 85d337a6e4
8 changed files with 150 additions and 4 deletions

Binary file not shown.

View file

@ -123,6 +123,8 @@ INSTALLED_APPS = (
# 'django.contrib.admin', # 'django.contrib.admin',
# Uncomment the next line to enable admin documentation: # Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs', # 'django.contrib.admindocs',
'south',
'jsonfield',
'record', 'record',
) )

Binary file not shown.

View file

@ -0,0 +1,54 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding model 'Record'
db.create_table(u'record_record', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('metadata', self.gf('django.db.models.fields.TextField')(blank=True)),
('title', self.gf('django.db.models.fields.TextField')()),
))
db.send_create_signal(u'record', ['Record'])
# Adding model 'Link'
db.create_table(u'record_link', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('link_from', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['record.Record'])),
('link_to', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['record.Record'])),
('label', self.gf('django.db.models.fields.TextField')()),
))
db.send_create_signal(u'record', ['Link'])
def backwards(self, orm):
# Deleting model 'Record'
db.delete_table(u'record_record')
# Deleting model 'Link'
db.delete_table(u'record_link')
models = {
u'record.link': {
'Meta': {'object_name': 'Link'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'label': ('django.db.models.fields.TextField', [], {}),
'link_from': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['record.Record']"}),
'link_to': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['record.Record']"})
},
u'record.record': {
'Meta': {'object_name': 'Record'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'metadata': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'related': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['record.Record']", 'through': u"orm['record.Link']", 'symmetrical': 'False'}),
'title': ('django.db.models.fields.TextField', [], {})
}
}
complete_apps = ['record']

View file

@ -0,0 +1,49 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding field 'Link.inherit'
db.add_column(u'record_link', 'inherit',
self.gf('django.db.models.fields.BooleanField')(default=False),
keep_default=False)
# Adding field 'Link.prefix'
db.add_column(u'record_link', 'prefix',
self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True),
keep_default=False)
def backwards(self, orm):
# Deleting field 'Link.inherit'
db.delete_column(u'record_link', 'inherit')
# Deleting field 'Link.prefix'
db.delete_column(u'record_link', 'prefix')
models = {
u'record.link': {
'Meta': {'object_name': 'Link'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inherit': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'label': ('django.db.models.fields.TextField', [], {}),
'link_from': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['record.Record']"}),
'link_to': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': u"orm['record.Record']"}),
'prefix': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'})
},
u'record.record': {
'Meta': {'object_name': 'Record'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'metadata': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'related': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['record.Record']", 'through': u"orm['record.Link']", 'symmetrical': 'False'}),
'title': ('django.db.models.fields.TextField', [], {})
}
}
complete_apps = ['record']

View file

@ -0,0 +1,39 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Changing field 'Record.metadata'
db.alter_column(u'record_record', 'metadata', self.gf('jsonfield.fields.JSONField')())
def backwards(self, orm):
# Changing field 'Record.metadata'
db.alter_column(u'record_record', 'metadata', self.gf('django.db.models.fields.TextField')())
models = {
u'record.link': {
'Meta': {'object_name': 'Link'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inherit': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'label': ('django.db.models.fields.TextField', [], {}),
'link_from': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'out_links'", 'to': u"orm['record.Record']"}),
'link_to': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'in_links'", 'to': u"orm['record.Record']"}),
'prefix': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'})
},
u'record.record': {
'Meta': {'object_name': 'Record'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'metadata': ('jsonfield.fields.JSONField', [], {'default': '{}', 'blank': 'True'}),
'related': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['record.Record']", 'through': u"orm['record.Link']", 'symmetrical': 'False'}),
'title': ('django.db.models.fields.TextField', [], {})
}
}
complete_apps = ['record']

View file

View file

@ -1,13 +1,15 @@
from django.db import models from django.db import models
from jsonfield.fields import JSONField
class Record(models.Model): class Record(models.Model):
metadata = models.TextField(blank=True) metadata = JSONField(blank=True)
title = models.TextField() title = models.TextField()
related = models.ManyToManyField('Record', through='Link') related = models.ManyToManyField('Record', through='Link')
class Link(models.Model): class Link(models.Model):
link_from = models.ForeignKey(Record, related_name='+') link_from = models.ForeignKey(Record, related_name='out_links')
link_to = models.ForeignKey(Record, related_name='+') link_to = models.ForeignKey(Record, related_name='in_links')
label = models.TextField() label = models.TextField()
pass inherit = models.BooleanField()
prefix = models.CharField(blank=True, null=True, max_length=128)