diff --git a/objrepo/objrepo/.settings.py.swp b/objrepo/objrepo/.settings.py.swp index 646b761..a2f1bd1 100644 Binary files a/objrepo/objrepo/.settings.py.swp and b/objrepo/objrepo/.settings.py.swp differ diff --git a/objrepo/objrepo/settings.py b/objrepo/objrepo/settings.py index f26aee5..bb0dcc9 100644 --- a/objrepo/objrepo/settings.py +++ b/objrepo/objrepo/settings.py @@ -123,6 +123,8 @@ INSTALLED_APPS = ( # 'django.contrib.admin', # Uncomment the next line to enable admin documentation: # 'django.contrib.admindocs', + 'south', + 'jsonfield', 'record', ) diff --git a/objrepo/objrepo/settings.pyc b/objrepo/objrepo/settings.pyc index 5aa4cf8..c362db2 100644 Binary files a/objrepo/objrepo/settings.pyc and b/objrepo/objrepo/settings.pyc differ diff --git a/objrepo/record/migrations/0001_initial.py b/objrepo/record/migrations/0001_initial.py new file mode 100644 index 0000000..991f91d --- /dev/null +++ b/objrepo/record/migrations/0001_initial.py @@ -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'] \ No newline at end of file diff --git a/objrepo/record/migrations/0002_auto__add_field_link_inherit__add_field_link_prefix.py b/objrepo/record/migrations/0002_auto__add_field_link_inherit__add_field_link_prefix.py new file mode 100644 index 0000000..6ab523e --- /dev/null +++ b/objrepo/record/migrations/0002_auto__add_field_link_inherit__add_field_link_prefix.py @@ -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'] \ No newline at end of file diff --git a/objrepo/record/migrations/0003_auto__chg_field_record_metadata.py b/objrepo/record/migrations/0003_auto__chg_field_record_metadata.py new file mode 100644 index 0000000..cece1c7 --- /dev/null +++ b/objrepo/record/migrations/0003_auto__chg_field_record_metadata.py @@ -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'] \ No newline at end of file diff --git a/objrepo/record/migrations/__init__.py b/objrepo/record/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/objrepo/record/models.py b/objrepo/record/models.py index 558ee94..b9d2860 100644 --- a/objrepo/record/models.py +++ b/objrepo/record/models.py @@ -1,13 +1,15 @@ from django.db import models +from jsonfield.fields import JSONField class Record(models.Model): - metadata = models.TextField(blank=True) + metadata = JSONField(blank=True) title = models.TextField() related = models.ManyToManyField('Record', through='Link') class Link(models.Model): - link_from = models.ForeignKey(Record, related_name='+') - link_to = models.ForeignKey(Record, related_name='+') + link_from = models.ForeignKey(Record, related_name='out_links') + link_to = models.ForeignKey(Record, related_name='in_links') label = models.TextField() - pass + inherit = models.BooleanField() + prefix = models.CharField(blank=True, null=True, max_length=128)