Commits

Richard Gerkin committed 7885a5b

Initial import

Comments (0)

Files changed (26)

Empty file added.
+from django.contrib import admin
+from django import forms
+import models as m
+from django.shortcuts import render_to_response
+from django.http import HttpResponseRedirect
+from django.db.models import get_app,get_models
+from django.contrib.admin.sites import AlreadyRegistered
+
+class RecordInline(admin.TabularInline):
+    model = m.Record
+    extra = 5    
+    exclude = ['name','desc']
+
+class BlankNameForm(forms.ModelForm):
+    name = forms.CharField(required=False)
+
+app_models = get_app('scidash')
+for model in get_models(app_models):
+    try:
+        class GenericModelAdmin(admin.ModelAdmin):
+            meta = model._meta
+            fields = [i.name for i in meta.fields+meta.many_to_many if i.name != 'id']
+            if model.__bases__[0].__name__ == 'SciDash':
+                meta = m.SciDash._meta
+                fields += [i.name for i in meta.fields if i.name != 'id' and i.name not in fields]
+            if model.__name__ == 'Test':
+                inlines = [RecordInline]
+            else:
+                inlines = []
+            if model.__name__ == 'Record':
+                def get_form(self,request,obj=None,**kwargs):
+                    form = super(self.__class__, self).get_form(request,obj,**kwargs)
+                    form.name = forms.CharField(required=False)#fields['name'].required = False
+                    return form
+        admin.site.register(model,GenericModelAdmin)
+        #admin.site.register(model)
+    except AlreadyRegistered:
+        pass
+        
+    

migrations/0001_initial.py

+# -*- 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 'Institution'
+        db.create_table('sciunit_web_institution', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('kind', self.gf('django.db.models.fields.CharField')(max_length=50)),
+            ('country', self.gf('django.db.models.fields.CharField')(max_length=3)),
+            ('state', self.gf('django.db.models.fields.CharField')(max_length=2)),
+        ))
+        db.send_create_signal('sciunit_web', ['Institution'])
+
+        # Adding model 'Scientist'
+        db.create_table('sciunit_web_scientist', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('first_name', self.gf('django.db.models.fields.CharField')(max_length=50)),
+            ('middle_initials', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
+            ('last_name', self.gf('django.db.models.fields.CharField')(max_length=50)),
+            ('institution', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sciunit_web.Institution'], null=True, blank=True)),
+        ))
+        db.send_create_signal('sciunit_web', ['Scientist'])
+
+        # Adding model 'Atlas'
+        db.create_table('sciunit_web_atlas', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('edition', self.gf('django.db.models.fields.IntegerField')()),
+        ))
+        db.send_create_signal('sciunit_web', ['Atlas'])
+
+        # Adding model 'Species'
+        db.create_table('sciunit_web_species', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('common_name', self.gf('django.db.models.fields.CharField')(max_length=50)),
+            ('is_primate', self.gf('django.db.models.fields.BooleanField')(default=False)),
+            ('is_mammal', self.gf('django.db.models.fields.BooleanField')(default=False)),
+            ('is_vertebrate', self.gf('django.db.models.fields.BooleanField')(default=False)),
+            ('is_animal', self.gf('django.db.models.fields.BooleanField')(default=False)),
+        ))
+        db.send_create_signal('sciunit_web', ['Species'])
+
+        # Adding model 'Area'
+        db.create_table('sciunit_web_area', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('species', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sciunit_web.Species'])),
+            ('atlas', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sciunit_web.Atlas'])),
+            ('x', self.gf('django.db.models.fields.FloatField')()),
+            ('y', self.gf('django.db.models.fields.FloatField')()),
+            ('z', self.gf('django.db.models.fields.FloatField')()),
+        ))
+        db.send_create_signal('sciunit_web', ['Area'])
+
+        # Adding model 'Instrument'
+        db.create_table('sciunit_web_instrument', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('mode', self.gf('django.db.models.fields.CharField')(max_length=100)),
+        ))
+        db.send_create_signal('sciunit_web', ['Instrument'])
+
+        # Adding model 'Prep'
+        db.create_table('sciunit_web_prep', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('species', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sciunit_web.Species'])),
+            ('min_age', self.gf('django.db.models.fields.IntegerField')()),
+            ('max_age', self.gf('django.db.models.fields.IntegerField')()),
+            ('stim_loc', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='stim_loc', null=True, to=orm['sciunit_web.Area'])),
+            ('stim_type', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='stim_type', null=True, to=orm['sciunit_web.Instrument'])),
+            ('record_loc', self.gf('django.db.models.fields.related.ForeignKey')(related_name='record_loc', to=orm['sciunit_web.Area'])),
+            ('record_type', self.gf('django.db.models.fields.related.ForeignKey')(related_name='record_type', to=orm['sciunit_web.Instrument'])),
+        ))
+        db.send_create_signal('sciunit_web', ['Prep'])
+
+        # Adding model 'Language'
+        db.create_table('sciunit_web_language', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('version', self.gf('django.db.models.fields.FloatField')()),
+        ))
+        db.send_create_signal('sciunit_web', ['Language'])
+
+        # Adding model 'Journal'
+        db.create_table('sciunit_web_journal', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('publisher', self.gf('django.db.models.fields.CharField')(max_length=100)),
+        ))
+        db.send_create_signal('sciunit_web', ['Journal'])
+
+        # Adding model 'Publication'
+        db.create_table('sciunit_web_publication', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('journal', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sciunit_web.Journal'])),
+            ('date', self.gf('django.db.models.fields.DateField')()),
+            ('pmid', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+        ))
+        db.send_create_signal('sciunit_web', ['Publication'])
+
+        # Adding M2M table for field author on 'Publication'
+        db.create_table('sciunit_web_publication_author', (
+            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+            ('publication', models.ForeignKey(orm['sciunit_web.publication'], null=False)),
+            ('scientist', models.ForeignKey(orm['sciunit_web.scientist'], null=False))
+        ))
+        db.create_unique('sciunit_web_publication_author', ['publication_id', 'scientist_id'])
+
+        # Adding model 'Format'
+        db.create_table('sciunit_web_format', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('version', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)),
+        ))
+        db.send_create_signal('sciunit_web', ['Format'])
+
+        # Adding model 'Dataset'
+        db.create_table('sciunit_web_dataset', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('creator', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sciunit_web.Scientist'])),
+            ('prep', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sciunit_web.Prep'], null=True, blank=True)),
+            ('format', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sciunit_web.Format'])),
+            ('path', self.gf('django.db.models.fields.CharField')(max_length=200)),
+        ))
+        db.send_create_signal('sciunit_web', ['Dataset'])
+
+        # Adding model 'Capability'
+        db.create_table('sciunit_web_capability', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+        ))
+        db.send_create_signal('sciunit_web', ['Capability'])
+
+        # Adding M2M table for field dependencies on 'Capability'
+        db.create_table('sciunit_web_capability_dependencies', (
+            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+            ('from_capability', models.ForeignKey(orm['sciunit_web.capability'], null=False)),
+            ('to_capability', models.ForeignKey(orm['sciunit_web.capability'], null=False))
+        ))
+        db.create_unique('sciunit_web_capability_dependencies', ['from_capability_id', 'to_capability_id'])
+
+        # Adding model 'Model'
+        db.create_table('sciunit_web_model', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('publication', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sciunit_web.Publication'])),
+            ('prep', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sciunit_web.Prep'], null=True, blank=True)),
+            ('language', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sciunit_web.Language'])),
+            ('path', self.gf('django.db.models.fields.CharField')(max_length=200)),
+        ))
+        db.send_create_signal('sciunit_web', ['Model'])
+
+        # Adding M2M table for field capabilities on 'Model'
+        db.create_table('sciunit_web_model_capabilities', (
+            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+            ('model', models.ForeignKey(orm['sciunit_web.model'], null=False)),
+            ('capability', models.ForeignKey(orm['sciunit_web.capability'], null=False))
+        ))
+        db.create_unique('sciunit_web_model_capabilities', ['model_id', 'capability_id'])
+
+        # Adding model 'Configuration'
+        db.create_table('sciunit_web_configuration', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('model', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sciunit_web.Model'])),
+        ))
+        db.send_create_signal('sciunit_web', ['Configuration'])
+
+        # Adding model 'Curve'
+        db.create_table('sciunit_web_curve', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+        ))
+        db.send_create_signal('sciunit_web', ['Curve'])
+
+        # Adding model 'Test'
+        db.create_table('sciunit_web_test', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('creator', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])),
+            ('curve', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sciunit_web.Curve'])),
+        ))
+        db.send_create_signal('sciunit_web', ['Test'])
+
+        # Adding M2M table for field datasets on 'Test'
+        db.create_table('sciunit_web_test_datasets', (
+            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+            ('test', models.ForeignKey(orm['sciunit_web.test'], null=False)),
+            ('dataset', models.ForeignKey(orm['sciunit_web.dataset'], null=False))
+        ))
+        db.create_unique('sciunit_web_test_datasets', ['test_id', 'dataset_id'])
+
+        # Adding M2M table for field requires on 'Test'
+        db.create_table('sciunit_web_test_requires', (
+            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+            ('test', models.ForeignKey(orm['sciunit_web.test'], null=False)),
+            ('capability', models.ForeignKey(orm['sciunit_web.capability'], null=False))
+        ))
+        db.create_unique('sciunit_web_test_requires', ['test_id', 'capability_id'])
+
+        # Adding model 'Record'
+        db.create_table('sciunit_web_record', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('model', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sciunit_web.Model'])),
+            ('dataset', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sciunit_web.Dataset'])),
+            ('test', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sciunit_web.Test'])),
+            ('result', self.gf('django.db.models.fields.FloatField')()),
+            ('score', self.gf('django.db.models.fields.FloatField')()),
+            ('passed', self.gf('django.db.models.fields.BooleanField')(default=False)),
+            ('comments', self.gf('django.db.models.fields.CharField')(max_length=1000)),
+        ))
+        db.send_create_signal('sciunit_web', ['Record'])
+
+
+    def backwards(self, orm):
+        # Deleting model 'Institution'
+        db.delete_table('sciunit_web_institution')
+
+        # Deleting model 'Scientist'
+        db.delete_table('sciunit_web_scientist')
+
+        # Deleting model 'Atlas'
+        db.delete_table('sciunit_web_atlas')
+
+        # Deleting model 'Species'
+        db.delete_table('sciunit_web_species')
+
+        # Deleting model 'Area'
+        db.delete_table('sciunit_web_area')
+
+        # Deleting model 'Instrument'
+        db.delete_table('sciunit_web_instrument')
+
+        # Deleting model 'Prep'
+        db.delete_table('sciunit_web_prep')
+
+        # Deleting model 'Language'
+        db.delete_table('sciunit_web_language')
+
+        # Deleting model 'Journal'
+        db.delete_table('sciunit_web_journal')
+
+        # Deleting model 'Publication'
+        db.delete_table('sciunit_web_publication')
+
+        # Removing M2M table for field author on 'Publication'
+        db.delete_table('sciunit_web_publication_author')
+
+        # Deleting model 'Format'
+        db.delete_table('sciunit_web_format')
+
+        # Deleting model 'Dataset'
+        db.delete_table('sciunit_web_dataset')
+
+        # Deleting model 'Capability'
+        db.delete_table('sciunit_web_capability')
+
+        # Removing M2M table for field dependencies on 'Capability'
+        db.delete_table('sciunit_web_capability_dependencies')
+
+        # Deleting model 'Model'
+        db.delete_table('sciunit_web_model')
+
+        # Removing M2M table for field capabilities on 'Model'
+        db.delete_table('sciunit_web_model_capabilities')
+
+        # Deleting model 'Configuration'
+        db.delete_table('sciunit_web_configuration')
+
+        # Deleting model 'Curve'
+        db.delete_table('sciunit_web_curve')
+
+        # Deleting model 'Test'
+        db.delete_table('sciunit_web_test')
+
+        # Removing M2M table for field datasets on 'Test'
+        db.delete_table('sciunit_web_test_datasets')
+
+        # Removing M2M table for field requires on 'Test'
+        db.delete_table('sciunit_web_test_requires')
+
+        # Deleting model 'Record'
+        db.delete_table('sciunit_web_record')
+
+
+    models = {
+        'auth.group': {
+            'Meta': {'object_name': 'Group'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+        },
+        'auth.permission': {
+            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+        },
+        'auth.user': {
+            'Meta': {'object_name': 'User'},
+            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+        },
+        'contenttypes.contenttype': {
+            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.area': {
+            'Meta': {'object_name': 'Area'},
+            'atlas': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Atlas']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'species': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Species']"}),
+            'x': ('django.db.models.fields.FloatField', [], {}),
+            'y': ('django.db.models.fields.FloatField', [], {}),
+            'z': ('django.db.models.fields.FloatField', [], {})
+        },
+        'sciunit_web.atlas': {
+            'Meta': {'object_name': 'Atlas'},
+            'edition': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'sciunit_web.capability': {
+            'Meta': {'object_name': 'Capability'},
+            'dependencies': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'dependencies_rel_+'", 'to': "orm['sciunit_web.Capability']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'sciunit_web.configuration': {
+            'Meta': {'object_name': 'Configuration'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Model']"})
+        },
+        'sciunit_web.curve': {
+            'Meta': {'object_name': 'Curve'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'sciunit_web.dataset': {
+            'Meta': {'object_name': 'Dataset'},
+            'creator': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Scientist']"}),
+            'format': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Format']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'path': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+            'prep': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Prep']", 'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.format': {
+            'Meta': {'object_name': 'Format'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'version': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.institution': {
+            'Meta': {'object_name': 'Institution'},
+            'country': ('django.db.models.fields.CharField', [], {'max_length': '3'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'kind': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'state': ('django.db.models.fields.CharField', [], {'max_length': '2'})
+        },
+        'sciunit_web.instrument': {
+            'Meta': {'object_name': 'Instrument'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'mode': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.journal': {
+            'Meta': {'object_name': 'Journal'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'publisher': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.language': {
+            'Meta': {'object_name': 'Language'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'version': ('django.db.models.fields.FloatField', [], {})
+        },
+        'sciunit_web.model': {
+            'Meta': {'object_name': 'Model'},
+            'capabilities': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Capability']", 'symmetrical': 'False'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'language': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Language']"}),
+            'path': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+            'prep': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Prep']", 'null': 'True', 'blank': 'True'}),
+            'publication': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Publication']"})
+        },
+        'sciunit_web.prep': {
+            'Meta': {'object_name': 'Prep'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'max_age': ('django.db.models.fields.IntegerField', [], {}),
+            'min_age': ('django.db.models.fields.IntegerField', [], {}),
+            'record_loc': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'record_loc'", 'to': "orm['sciunit_web.Area']"}),
+            'record_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'record_type'", 'to': "orm['sciunit_web.Instrument']"}),
+            'species': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Species']"}),
+            'stim_loc': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'stim_loc'", 'null': 'True', 'to': "orm['sciunit_web.Area']"}),
+            'stim_type': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'stim_type'", 'null': 'True', 'to': "orm['sciunit_web.Instrument']"})
+        },
+        'sciunit_web.publication': {
+            'Meta': {'object_name': 'Publication'},
+            'author': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Scientist']", 'null': 'True', 'symmetrical': 'False'}),
+            'date': ('django.db.models.fields.DateField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'journal': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Journal']"}),
+            'pmid': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.record': {
+            'Meta': {'object_name': 'Record'},
+            'comments': ('django.db.models.fields.CharField', [], {'max_length': '1000'}),
+            'dataset': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Dataset']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Model']"}),
+            'passed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'result': ('django.db.models.fields.FloatField', [], {}),
+            'score': ('django.db.models.fields.FloatField', [], {}),
+            'test': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Test']"})
+        },
+        'sciunit_web.scientist': {
+            'Meta': {'object_name': 'Scientist'},
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'institution': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Institution']", 'null': 'True', 'blank': 'True'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'middle_initials': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.species': {
+            'Meta': {'object_name': 'Species'},
+            'common_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_animal': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_mammal': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_primate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_vertebrate': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
+        },
+        'sciunit_web.test': {
+            'Meta': {'object_name': 'Test'},
+            'creator': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
+            'curve': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Curve']"}),
+            'datasets': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Dataset']", 'symmetrical': 'False'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'requires': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Capability']", 'symmetrical': 'False'})
+        }
+    }
+
+    complete_apps = ['sciunit_web']

migrations/0002_auto__add_field_publication_title__add_field_journal_name.py

+# -*- 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 'Publication.title'
+        db.add_column('sciunit_web_publication', 'title',
+                      self.gf('django.db.models.fields.CharField')(default='', max_length=200),
+                      keep_default=False)
+
+        # Adding field 'Journal.name'
+        db.add_column('sciunit_web_journal', 'name',
+                      self.gf('django.db.models.fields.CharField')(default='', max_length=100),
+                      keep_default=False)
+
+
+    def backwards(self, orm):
+        # Deleting field 'Publication.title'
+        db.delete_column('sciunit_web_publication', 'title')
+
+        # Deleting field 'Journal.name'
+        db.delete_column('sciunit_web_journal', 'name')
+
+
+    models = {
+        'auth.group': {
+            'Meta': {'object_name': 'Group'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+        },
+        'auth.permission': {
+            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+        },
+        'auth.user': {
+            'Meta': {'object_name': 'User'},
+            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+        },
+        'contenttypes.contenttype': {
+            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.area': {
+            'Meta': {'object_name': 'Area'},
+            'atlas': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Atlas']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'species': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Species']"}),
+            'x': ('django.db.models.fields.FloatField', [], {}),
+            'y': ('django.db.models.fields.FloatField', [], {}),
+            'z': ('django.db.models.fields.FloatField', [], {})
+        },
+        'sciunit_web.atlas': {
+            'Meta': {'object_name': 'Atlas'},
+            'edition': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'sciunit_web.capability': {
+            'Meta': {'object_name': 'Capability'},
+            'dependencies': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'dependencies_rel_+'", 'to': "orm['sciunit_web.Capability']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'sciunit_web.configuration': {
+            'Meta': {'object_name': 'Configuration'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Model']"})
+        },
+        'sciunit_web.curve': {
+            'Meta': {'object_name': 'Curve'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'sciunit_web.dataset': {
+            'Meta': {'object_name': 'Dataset'},
+            'creator': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Scientist']"}),
+            'format': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Format']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'path': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+            'prep': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Prep']", 'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.format': {
+            'Meta': {'object_name': 'Format'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'version': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.institution': {
+            'Meta': {'object_name': 'Institution'},
+            'country': ('django.db.models.fields.CharField', [], {'max_length': '3'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'kind': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'state': ('django.db.models.fields.CharField', [], {'max_length': '2'})
+        },
+        'sciunit_web.instrument': {
+            'Meta': {'object_name': 'Instrument'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'mode': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.journal': {
+            'Meta': {'object_name': 'Journal'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'publisher': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.language': {
+            'Meta': {'object_name': 'Language'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'version': ('django.db.models.fields.FloatField', [], {})
+        },
+        'sciunit_web.model': {
+            'Meta': {'object_name': 'Model'},
+            'capabilities': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Capability']", 'symmetrical': 'False'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'language': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Language']"}),
+            'path': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+            'prep': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Prep']", 'null': 'True', 'blank': 'True'}),
+            'publication': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Publication']"})
+        },
+        'sciunit_web.prep': {
+            'Meta': {'object_name': 'Prep'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'max_age': ('django.db.models.fields.IntegerField', [], {}),
+            'min_age': ('django.db.models.fields.IntegerField', [], {}),
+            'record_loc': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'record_loc'", 'to': "orm['sciunit_web.Area']"}),
+            'record_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'record_type'", 'to': "orm['sciunit_web.Instrument']"}),
+            'species': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Species']"}),
+            'stim_loc': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'stim_loc'", 'null': 'True', 'to': "orm['sciunit_web.Area']"}),
+            'stim_type': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'stim_type'", 'null': 'True', 'to': "orm['sciunit_web.Instrument']"})
+        },
+        'sciunit_web.publication': {
+            'Meta': {'object_name': 'Publication'},
+            'author': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Scientist']", 'null': 'True', 'symmetrical': 'False'}),
+            'date': ('django.db.models.fields.DateField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'journal': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Journal']"}),
+            'pmid': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
+        },
+        'sciunit_web.record': {
+            'Meta': {'object_name': 'Record'},
+            'comments': ('django.db.models.fields.CharField', [], {'max_length': '1000'}),
+            'dataset': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Dataset']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Model']"}),
+            'passed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'result': ('django.db.models.fields.FloatField', [], {}),
+            'score': ('django.db.models.fields.FloatField', [], {}),
+            'test': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Test']"})
+        },
+        'sciunit_web.scientist': {
+            'Meta': {'object_name': 'Scientist'},
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'institution': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Institution']", 'null': 'True', 'blank': 'True'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'middle_initials': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.species': {
+            'Meta': {'object_name': 'Species'},
+            'common_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_animal': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_mammal': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_primate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_vertebrate': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
+        },
+        'sciunit_web.test': {
+            'Meta': {'object_name': 'Test'},
+            'creator': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
+            'curve': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Curve']"}),
+            'datasets': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Dataset']", 'symmetrical': 'False'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'requires': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Capability']", 'symmetrical': 'False'})
+        }
+    }
+
+    complete_apps = ['sciunit_web']

migrations/0003_auto__del_prep__add_system__del_field_model_prep__add_field_model_syst.py

+# -*- 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):
+        # Deleting model 'Prep'
+        db.delete_table('sciunit_web_prep')
+
+        # Adding model 'System'
+        db.create_table('sciunit_web_system', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
+        ))
+        db.send_create_signal('sciunit_web', ['System'])
+
+        # Adding M2M table for field instruments on 'System'
+        db.create_table('sciunit_web_system_instruments', (
+            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+            ('system', models.ForeignKey(orm['sciunit_web.system'], null=False)),
+            ('instrument', models.ForeignKey(orm['sciunit_web.instrument'], null=False))
+        ))
+        db.create_unique('sciunit_web_system_instruments', ['system_id', 'instrument_id'])
+
+        # Deleting field 'Model.prep'
+        db.delete_column('sciunit_web_model', 'prep_id')
+
+        # Adding field 'Model.system'
+        db.add_column('sciunit_web_model', 'system',
+                      self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sciunit_web.System'], null=True, blank=True),
+                      keep_default=False)
+
+        # Deleting field 'Dataset.prep'
+        db.delete_column('sciunit_web_dataset', 'prep_id')
+
+        # Adding field 'Dataset.system'
+        db.add_column('sciunit_web_dataset', 'system',
+                      self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sciunit_web.System'], null=True, blank=True),
+                      keep_default=False)
+
+        # Adding field 'Language.name'
+        db.add_column('sciunit_web_language', 'name',
+                      self.gf('django.db.models.fields.CharField')(default='', max_length=50),
+                      keep_default=False)
+
+
+    def backwards(self, orm):
+        # Adding model 'Prep'
+        db.create_table('sciunit_web_prep', (
+            ('stim_loc', self.gf('django.db.models.fields.related.ForeignKey')(related_name='stim_loc', null=True, to=orm['sciunit_web.Area'], blank=True)),
+            ('max_age', self.gf('django.db.models.fields.IntegerField')()),
+            ('record_loc', self.gf('django.db.models.fields.related.ForeignKey')(related_name='record_loc', to=orm['sciunit_web.Area'])),
+            ('record_type', self.gf('django.db.models.fields.related.ForeignKey')(related_name='record_type', to=orm['sciunit_web.Instrument'])),
+            ('species', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sciunit_web.Species'])),
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('stim_type', self.gf('django.db.models.fields.related.ForeignKey')(related_name='stim_type', null=True, to=orm['sciunit_web.Instrument'], blank=True)),
+            ('min_age', self.gf('django.db.models.fields.IntegerField')()),
+        ))
+        db.send_create_signal('sciunit_web', ['Prep'])
+
+        # Deleting model 'System'
+        db.delete_table('sciunit_web_system')
+
+        # Removing M2M table for field instruments on 'System'
+        db.delete_table('sciunit_web_system_instruments')
+
+        # Adding field 'Model.prep'
+        db.add_column('sciunit_web_model', 'prep',
+                      self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sciunit_web.Prep'], null=True, blank=True),
+                      keep_default=False)
+
+        # Deleting field 'Model.system'
+        db.delete_column('sciunit_web_model', 'system_id')
+
+        # Adding field 'Dataset.prep'
+        db.add_column('sciunit_web_dataset', 'prep',
+                      self.gf('django.db.models.fields.related.ForeignKey')(to=orm['sciunit_web.Prep'], null=True, blank=True),
+                      keep_default=False)
+
+        # Deleting field 'Dataset.system'
+        db.delete_column('sciunit_web_dataset', 'system_id')
+
+        # Deleting field 'Language.name'
+        db.delete_column('sciunit_web_language', 'name')
+
+
+    models = {
+        'auth.group': {
+            'Meta': {'object_name': 'Group'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+        },
+        'auth.permission': {
+            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+        },
+        'auth.user': {
+            'Meta': {'object_name': 'User'},
+            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+        },
+        'contenttypes.contenttype': {
+            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.area': {
+            'Meta': {'object_name': 'Area'},
+            'atlas': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Atlas']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'species': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Species']"}),
+            'x': ('django.db.models.fields.FloatField', [], {}),
+            'y': ('django.db.models.fields.FloatField', [], {}),
+            'z': ('django.db.models.fields.FloatField', [], {})
+        },
+        'sciunit_web.atlas': {
+            'Meta': {'object_name': 'Atlas'},
+            'edition': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'sciunit_web.capability': {
+            'Meta': {'object_name': 'Capability'},
+            'dependencies': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'dependencies_rel_+'", 'to': "orm['sciunit_web.Capability']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'sciunit_web.configuration': {
+            'Meta': {'object_name': 'Configuration'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Model']"})
+        },
+        'sciunit_web.curve': {
+            'Meta': {'object_name': 'Curve'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'sciunit_web.dataset': {
+            'Meta': {'object_name': 'Dataset'},
+            'creator': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Scientist']"}),
+            'format': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Format']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'path': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+            'system': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.System']", 'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.format': {
+            'Meta': {'object_name': 'Format'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'version': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.institution': {
+            'Meta': {'object_name': 'Institution'},
+            'country': ('django.db.models.fields.CharField', [], {'max_length': '3'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'kind': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'state': ('django.db.models.fields.CharField', [], {'max_length': '2'})
+        },
+        'sciunit_web.instrument': {
+            'Meta': {'object_name': 'Instrument'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'mode': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.journal': {
+            'Meta': {'object_name': 'Journal'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'publisher': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.language': {
+            'Meta': {'object_name': 'Language'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'version': ('django.db.models.fields.FloatField', [], {})
+        },
+        'sciunit_web.model': {
+            'Meta': {'object_name': 'Model'},
+            'capabilities': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Capability']", 'symmetrical': 'False'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'language': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Language']"}),
+            'path': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+            'publication': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Publication']"}),
+            'system': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.System']", 'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.publication': {
+            'Meta': {'object_name': 'Publication'},
+            'author': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Scientist']", 'null': 'True', 'symmetrical': 'False'}),
+            'date': ('django.db.models.fields.DateField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'journal': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Journal']"}),
+            'pmid': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
+        },
+        'sciunit_web.record': {
+            'Meta': {'object_name': 'Record'},
+            'comments': ('django.db.models.fields.CharField', [], {'max_length': '1000'}),
+            'dataset': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Dataset']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Model']"}),
+            'passed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'result': ('django.db.models.fields.FloatField', [], {}),
+            'score': ('django.db.models.fields.FloatField', [], {}),
+            'test': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Test']"})
+        },
+        'sciunit_web.scientist': {
+            'Meta': {'object_name': 'Scientist'},
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'institution': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Institution']", 'null': 'True', 'blank': 'True'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'middle_initials': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.species': {
+            'Meta': {'object_name': 'Species'},
+            'common_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_animal': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_mammal': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_primate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_vertebrate': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
+        },
+        'sciunit_web.system': {
+            'Meta': {'object_name': 'System'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'instruments': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'instruments'", 'symmetrical': 'False', 'to': "orm['sciunit_web.Instrument']"}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.test': {
+            'Meta': {'object_name': 'Test'},
+            'creator': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
+            'curve': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Curve']"}),
+            'datasets': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Dataset']", 'symmetrical': 'False'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'requires': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Capability']", 'symmetrical': 'False'})
+        }
+    }
+
+    complete_apps = ['sciunit_web']

migrations/0004_auto__add_field_instrument_name__chg_field_instrument_mode.py

+# -*- 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 'Instrument.name'
+        db.add_column('sciunit_web_instrument', 'name',
+                      self.gf('django.db.models.fields.CharField')(default='', max_length=100),
+                      keep_default=False)
+
+
+        # Changing field 'Instrument.mode'
+        db.alter_column('sciunit_web_instrument', 'mode', self.gf('django.db.models.fields.CharField')(max_length=25))
+
+    def backwards(self, orm):
+        # Deleting field 'Instrument.name'
+        db.delete_column('sciunit_web_instrument', 'name')
+
+
+        # Changing field 'Instrument.mode'
+        db.alter_column('sciunit_web_instrument', 'mode', self.gf('django.db.models.fields.CharField')(max_length=100))
+
+    models = {
+        'auth.group': {
+            'Meta': {'object_name': 'Group'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+        },
+        'auth.permission': {
+            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+        },
+        'auth.user': {
+            'Meta': {'object_name': 'User'},
+            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+        },
+        'contenttypes.contenttype': {
+            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.area': {
+            'Meta': {'object_name': 'Area'},
+            'atlas': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Atlas']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'species': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Species']"}),
+            'x': ('django.db.models.fields.FloatField', [], {}),
+            'y': ('django.db.models.fields.FloatField', [], {}),
+            'z': ('django.db.models.fields.FloatField', [], {})
+        },
+        'sciunit_web.atlas': {
+            'Meta': {'object_name': 'Atlas'},
+            'edition': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'sciunit_web.capability': {
+            'Meta': {'object_name': 'Capability'},
+            'dependencies': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'dependencies_rel_+'", 'to': "orm['sciunit_web.Capability']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'sciunit_web.configuration': {
+            'Meta': {'object_name': 'Configuration'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Model']"})
+        },
+        'sciunit_web.curve': {
+            'Meta': {'object_name': 'Curve'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'sciunit_web.dataset': {
+            'Meta': {'object_name': 'Dataset'},
+            'creator': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Scientist']"}),
+            'format': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Format']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'path': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+            'system': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.System']", 'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.format': {
+            'Meta': {'object_name': 'Format'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'version': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.institution': {
+            'Meta': {'object_name': 'Institution'},
+            'country': ('django.db.models.fields.CharField', [], {'max_length': '3'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'kind': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'state': ('django.db.models.fields.CharField', [], {'max_length': '2'})
+        },
+        'sciunit_web.instrument': {
+            'Meta': {'object_name': 'Instrument'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'mode': ('django.db.models.fields.CharField', [], {'max_length': '25'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.journal': {
+            'Meta': {'object_name': 'Journal'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'publisher': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.language': {
+            'Meta': {'object_name': 'Language'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'version': ('django.db.models.fields.FloatField', [], {})
+        },
+        'sciunit_web.model': {
+            'Meta': {'object_name': 'Model'},
+            'capabilities': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Capability']", 'symmetrical': 'False'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'language': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Language']"}),
+            'path': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+            'publication': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Publication']"}),
+            'system': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.System']", 'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.publication': {
+            'Meta': {'object_name': 'Publication'},
+            'author': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Scientist']", 'null': 'True', 'symmetrical': 'False'}),
+            'date': ('django.db.models.fields.DateField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'journal': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Journal']"}),
+            'pmid': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
+        },
+        'sciunit_web.record': {
+            'Meta': {'object_name': 'Record'},
+            'comments': ('django.db.models.fields.CharField', [], {'max_length': '1000'}),
+            'dataset': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Dataset']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Model']"}),
+            'passed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'result': ('django.db.models.fields.FloatField', [], {}),
+            'score': ('django.db.models.fields.FloatField', [], {}),
+            'test': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Test']"})
+        },
+        'sciunit_web.scientist': {
+            'Meta': {'object_name': 'Scientist'},
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'institution': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Institution']", 'null': 'True', 'blank': 'True'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'middle_initials': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.species': {
+            'Meta': {'object_name': 'Species'},
+            'common_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_animal': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_mammal': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_primate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_vertebrate': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
+        },
+        'sciunit_web.system': {
+            'Meta': {'object_name': 'System'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'instruments': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'instruments'", 'symmetrical': 'False', 'to': "orm['sciunit_web.Instrument']"}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.test': {
+            'Meta': {'object_name': 'Test'},
+            'creator': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
+            'curve': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Curve']"}),
+            'datasets': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Dataset']", 'symmetrical': 'False'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'requires': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Capability']", 'symmetrical': 'False'})
+        }
+    }
+
+    complete_apps = ['sciunit_web']

migrations/0005_auto__add_field_capability_name.py

+# -*- 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 'Capability.name'
+        db.add_column('sciunit_web_capability', 'name',
+                      self.gf('django.db.models.fields.CharField')(default='', max_length=100),
+                      keep_default=False)
+
+
+    def backwards(self, orm):
+        # Deleting field 'Capability.name'
+        db.delete_column('sciunit_web_capability', 'name')
+
+
+    models = {
+        'auth.group': {
+            'Meta': {'object_name': 'Group'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+        },
+        'auth.permission': {
+            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+        },
+        'auth.user': {
+            'Meta': {'object_name': 'User'},
+            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+        },
+        'contenttypes.contenttype': {
+            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.area': {
+            'Meta': {'object_name': 'Area'},
+            'atlas': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Atlas']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'species': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Species']"}),
+            'x': ('django.db.models.fields.FloatField', [], {}),
+            'y': ('django.db.models.fields.FloatField', [], {}),
+            'z': ('django.db.models.fields.FloatField', [], {})
+        },
+        'sciunit_web.atlas': {
+            'Meta': {'object_name': 'Atlas'},
+            'edition': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'sciunit_web.capability': {
+            'Meta': {'object_name': 'Capability'},
+            'dependencies': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'dependencies_rel_+'", 'to': "orm['sciunit_web.Capability']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.configuration': {
+            'Meta': {'object_name': 'Configuration'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Model']"})
+        },
+        'sciunit_web.curve': {
+            'Meta': {'object_name': 'Curve'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'sciunit_web.dataset': {
+            'Meta': {'object_name': 'Dataset'},
+            'creator': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Scientist']"}),
+            'format': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Format']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'path': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+            'system': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.System']", 'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.format': {
+            'Meta': {'object_name': 'Format'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'version': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.institution': {
+            'Meta': {'object_name': 'Institution'},
+            'country': ('django.db.models.fields.CharField', [], {'max_length': '3'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'kind': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'state': ('django.db.models.fields.CharField', [], {'max_length': '2'})
+        },
+        'sciunit_web.instrument': {
+            'Meta': {'object_name': 'Instrument'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'mode': ('django.db.models.fields.CharField', [], {'max_length': '25'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.journal': {
+            'Meta': {'object_name': 'Journal'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'publisher': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.language': {
+            'Meta': {'object_name': 'Language'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'version': ('django.db.models.fields.FloatField', [], {})
+        },
+        'sciunit_web.model': {
+            'Meta': {'object_name': 'Model'},
+            'capabilities': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Capability']", 'symmetrical': 'False'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'language': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Language']"}),
+            'path': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+            'publication': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Publication']"}),
+            'system': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.System']", 'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.publication': {
+            'Meta': {'object_name': 'Publication'},
+            'author': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Scientist']", 'null': 'True', 'symmetrical': 'False'}),
+            'date': ('django.db.models.fields.DateField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'journal': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Journal']"}),
+            'pmid': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
+        },
+        'sciunit_web.record': {
+            'Meta': {'object_name': 'Record'},
+            'comments': ('django.db.models.fields.CharField', [], {'max_length': '1000'}),
+            'dataset': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Dataset']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Model']"}),
+            'passed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'result': ('django.db.models.fields.FloatField', [], {}),
+            'score': ('django.db.models.fields.FloatField', [], {}),
+            'test': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Test']"})
+        },
+        'sciunit_web.scientist': {
+            'Meta': {'object_name': 'Scientist'},
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'institution': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Institution']", 'null': 'True', 'blank': 'True'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'middle_initials': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.species': {
+            'Meta': {'object_name': 'Species'},
+            'common_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_animal': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_mammal': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_primate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_vertebrate': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
+        },
+        'sciunit_web.system': {
+            'Meta': {'object_name': 'System'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'instruments': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'instruments'", 'symmetrical': 'False', 'to': "orm['sciunit_web.Instrument']"}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.test': {
+            'Meta': {'object_name': 'Test'},
+            'creator': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
+            'curve': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Curve']"}),
+            'datasets': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Dataset']", 'symmetrical': 'False'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'requires': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Capability']", 'symmetrical': 'False'})
+        }
+    }
+
+    complete_apps = ['sciunit_web']

migrations/0006_auto__add_field_model_name.py

+# -*- 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 'Model.name'
+        db.add_column('sciunit_web_model', 'name',
+                      self.gf('django.db.models.fields.CharField')(max_length=100, null=True, blank=True),
+                      keep_default=False)
+
+
+    def backwards(self, orm):
+        # Deleting field 'Model.name'
+        db.delete_column('sciunit_web_model', 'name')
+
+
+    models = {
+        'auth.group': {
+            'Meta': {'object_name': 'Group'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+        },
+        'auth.permission': {
+            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+        },
+        'auth.user': {
+            'Meta': {'object_name': 'User'},
+            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+        },
+        'contenttypes.contenttype': {
+            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.area': {
+            'Meta': {'object_name': 'Area'},
+            'atlas': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Atlas']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'species': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Species']"}),
+            'x': ('django.db.models.fields.FloatField', [], {}),
+            'y': ('django.db.models.fields.FloatField', [], {}),
+            'z': ('django.db.models.fields.FloatField', [], {})
+        },
+        'sciunit_web.atlas': {
+            'Meta': {'object_name': 'Atlas'},
+            'edition': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'sciunit_web.capability': {
+            'Meta': {'object_name': 'Capability'},
+            'dependencies': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'dependencies_rel_+'", 'null': 'True', 'to': "orm['sciunit_web.Capability']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.configuration': {
+            'Meta': {'object_name': 'Configuration'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Model']"})
+        },
+        'sciunit_web.curve': {
+            'Meta': {'object_name': 'Curve'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'sciunit_web.dataset': {
+            'Meta': {'object_name': 'Dataset'},
+            'creator': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Scientist']"}),
+            'format': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Format']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'path': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+            'system': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.System']", 'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.format': {
+            'Meta': {'object_name': 'Format'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'version': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.institution': {
+            'Meta': {'object_name': 'Institution'},
+            'country': ('django.db.models.fields.CharField', [], {'max_length': '3'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'kind': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'state': ('django.db.models.fields.CharField', [], {'max_length': '2'})
+        },
+        'sciunit_web.instrument': {
+            'Meta': {'object_name': 'Instrument'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'mode': ('django.db.models.fields.CharField', [], {'max_length': '25'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.journal': {
+            'Meta': {'object_name': 'Journal'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'publisher': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.language': {
+            'Meta': {'object_name': 'Language'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'version': ('django.db.models.fields.FloatField', [], {})
+        },
+        'sciunit_web.model': {
+            'Meta': {'object_name': 'Model'},
+            'capabilities': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Capability']", 'symmetrical': 'False'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'language': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Language']"}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+            'path': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+            'publication': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Publication']"}),
+            'system': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.System']", 'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.publication': {
+            'Meta': {'object_name': 'Publication'},
+            'author': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Scientist']", 'null': 'True', 'symmetrical': 'False'}),
+            'date': ('django.db.models.fields.DateField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'journal': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Journal']"}),
+            'pmid': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
+        },
+        'sciunit_web.record': {
+            'Meta': {'object_name': 'Record'},
+            'comments': ('django.db.models.fields.CharField', [], {'max_length': '1000'}),
+            'dataset': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Dataset']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Model']"}),
+            'passed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'result': ('django.db.models.fields.FloatField', [], {}),
+            'score': ('django.db.models.fields.FloatField', [], {}),
+            'test': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Test']"})
+        },
+        'sciunit_web.scientist': {
+            'Meta': {'object_name': 'Scientist'},
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'institution': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Institution']", 'null': 'True', 'blank': 'True'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'middle_initials': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.species': {
+            'Meta': {'object_name': 'Species'},
+            'common_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_animal': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_mammal': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_primate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_vertebrate': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
+        },
+        'sciunit_web.system': {
+            'Meta': {'object_name': 'System'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'instruments': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'instruments'", 'symmetrical': 'False', 'to': "orm['sciunit_web.Instrument']"}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.test': {
+            'Meta': {'object_name': 'Test'},
+            'creator': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
+            'curve': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Curve']"}),
+            'datasets': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Dataset']", 'symmetrical': 'False'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'requires': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Capability']", 'symmetrical': 'False'})
+        }
+    }
+
+    complete_apps = ['sciunit_web']

migrations/0007_auto__add_field_capability_desc__chg_field_capability_name.py

+# encoding: 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 'Capability.desc'
+        db.add_column('sciunit_web_capability', 'desc', self.gf('django.db.models.fields.CharField')(default='', max_length=300), keep_default=False)
+
+        # Changing field 'Capability.name'
+        db.alter_column('sciunit_web_capability', 'name', self.gf('django.db.models.fields.CharField')(max_length=50))
+
+
+    def backwards(self, orm):
+        
+        # Deleting field 'Capability.desc'
+        db.delete_column('sciunit_web_capability', 'desc')
+
+        # Changing field 'Capability.name'
+        db.alter_column('sciunit_web_capability', 'name', self.gf('django.db.models.fields.CharField')(max_length=100))
+
+
+    models = {
+        'auth.group': {
+            'Meta': {'object_name': 'Group'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+        },
+        'auth.permission': {
+            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+        },
+        'auth.user': {
+            'Meta': {'object_name': 'User'},
+            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 8, 28, 14, 21, 32, 620440)'}),
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 8, 28, 14, 21, 32, 620287)'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+        },
+        'contenttypes.contenttype': {
+            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.area': {
+            'Meta': {'object_name': 'Area'},
+            'atlas': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Atlas']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'species': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Species']"}),
+            'x': ('django.db.models.fields.FloatField', [], {}),
+            'y': ('django.db.models.fields.FloatField', [], {}),
+            'z': ('django.db.models.fields.FloatField', [], {})
+        },
+        'sciunit_web.atlas': {
+            'Meta': {'object_name': 'Atlas'},
+            'edition': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'sciunit_web.capability': {
+            'Meta': {'object_name': 'Capability'},
+            'dependencies': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'dependencies_rel_+'", 'null': 'True', 'to': "orm['sciunit_web.Capability']"}),
+            'desc': ('django.db.models.fields.CharField', [], {'max_length': '300'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+        },
+        'sciunit_web.configuration': {
+            'Meta': {'object_name': 'Configuration'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Model']"})
+        },
+        'sciunit_web.curve': {
+            'Meta': {'object_name': 'Curve'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'sciunit_web.dataset': {
+            'Meta': {'object_name': 'Dataset'},
+            'creator': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Scientist']"}),
+            'format': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Format']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'path': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+            'system': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.System']", 'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.format': {
+            'Meta': {'object_name': 'Format'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'version': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.institution': {
+            'Meta': {'object_name': 'Institution'},
+            'country': ('django.db.models.fields.CharField', [], {'max_length': '3'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'kind': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'state': ('django.db.models.fields.CharField', [], {'max_length': '2'})
+        },
+        'sciunit_web.instrument': {
+            'Meta': {'object_name': 'Instrument'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'mode': ('django.db.models.fields.CharField', [], {'max_length': '25'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.journal': {
+            'Meta': {'object_name': 'Journal'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'publisher': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'sciunit_web.language': {
+            'Meta': {'object_name': 'Language'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'version': ('django.db.models.fields.FloatField', [], {})
+        },
+        'sciunit_web.model': {
+            'Meta': {'object_name': 'Model'},
+            'capabilities': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Capability']", 'symmetrical': 'False'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'language': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Language']"}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+            'path': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+            'publication': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Publication']"}),
+            'system': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.System']", 'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.publication': {
+            'Meta': {'object_name': 'Publication'},
+            'author': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sciunit_web.Scientist']", 'null': 'True', 'symmetrical': 'False'}),
+            'date': ('django.db.models.fields.DateField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'journal': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Journal']"}),
+            'pmid': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
+        },
+        'sciunit_web.record': {
+            'Meta': {'object_name': 'Record'},
+            'comments': ('django.db.models.fields.CharField', [], {'max_length': '1000'}),
+            'dataset': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Dataset']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Model']"}),
+            'passed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'result': ('django.db.models.fields.FloatField', [], {}),
+            'score': ('django.db.models.fields.FloatField', [], {}),
+            'test': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Test']"})
+        },
+        'sciunit_web.scientist': {
+            'Meta': {'object_name': 'Scientist'},
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'institution': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sciunit_web.Institution']", 'null': 'True', 'blank': 'True'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
+            'middle_initials': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'})
+        },
+        'sciunit_web.species': {