class Migration(migrations.Migration): initial = True dependencies = [ ('assays', '0001_initial'), ] operations = [ migrations.CreateModel( name='Data', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('file', models. FileField(storage=django.core.files.storage.FileSystemStorage( location='/Users/user/Dropbox/workspace/labdb/files/'), upload_to=data.models.get_storage_path)), ('assay', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='data', to='assays.Assay')), ], ), migrations.CreateModel( name='DataType', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ('file_extension', models.CharField(max_length=10)), ('is_raw', models.BooleanField(default=False)), ], ), migrations.AddField( model_name='data', name='type', field=models.ForeignKey( on_delete=django.db.models.deletion.PROTECT, to='data.DataType'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Authority', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, unique=True)), ], ), migrations.CreateModel( name='Denomination', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=50, unique=True)), ], ), migrations.CreateModel( name='EquipmentClass', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ('spare_class', models.CharField(max_length=100)), ], ), migrations.CreateModel( name='Issue', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('username', models.CharField(default='', max_length=50)), ('quantity_issued', models.PositiveSmallIntegerField(default=0)), ('issue_time', models.DateTimeField(auto_now_add=True, null=True)), ('remarks', models.CharField(default='', max_length=200)), ], ), migrations.CreateModel( name='PostDemand', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity_demanded', models.PositiveSmallIntegerField(default=0)), ('demand_number', models.SlugField(default='')), ('demand_date', models.DateTimeField(null=True)), ('remarks', models.CharField(blank=True, default='', max_length=200)), ], ), migrations.CreateModel( name='SpareClass', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, unique=True)), ], ), migrations.CreateModel( name='Spares', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('spare_class', models.CharField(default='', max_length=100)), ('equipment_class', models.CharField(default='', max_length=100)), ('pattern_number', models.SlugField(blank=True, default='', max_length=100)), ('description', models.CharField(default='', max_length=500)), ('category', models.CharField(choices=[('PERMANENT', 'PERMANENT'), ('RETURNABLE', 'RETURNABLE'), ('CONSUMABLE', 'CONSUMABLE')], default='PERMANENT', max_length=20)), ('critical', models.BooleanField(blank=True, default=False)), ('compartment', models.CharField(blank=True, default='UNKNOWN', max_length=200)), ('location', models.CharField(blank=True, default='UNKNOWN', max_length=200)), ('denomination', models.CharField(default='', max_length=20)), ('quantity_authorised', models.PositiveSmallIntegerField(blank=True, default=0)), ('quantity_available', models.PositiveSmallIntegerField(blank=True, default=0)), ('authority', models.CharField(default='D787J', max_length=100)), ('page', models.SlugField(blank=True, default='', max_length=100)), ('line', models.PositiveSmallIntegerField(blank=True, null=True)), ('remarks', models.CharField(blank=True, default='', max_length=200, null=True)), ('image', models.ImageField(blank=True, default=None, max_length=500, null=True, upload_to=data.models.Spares.image_path)), ], ), migrations.CreateModel( name='Survey', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity_tosurvey', models.PositiveSmallIntegerField(default=0)), ('spare', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='data.Spares')), ], ), migrations.CreateModel( name='Return', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('username', models.CharField(default='', max_length=50)), ('quantity_returned', models.PositiveSmallIntegerField(default=0)), ('return_time', models.DateTimeField(auto_now_add=True, null=True)), ('remarks', models.CharField(blank=True, default='', max_length=200)), ('spare', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='data.Spares')), ], ), migrations.CreateModel( name='Receive', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity_toreceive', models.PositiveSmallIntegerField(default=0)), ('demand_entry', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to='data.PostDemand')), ('spare', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='data.Spares')), ], ), migrations.CreateModel( name='PostSurvey', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity_surveyed', models.PositiveSmallIntegerField(default=0)), ('survey_number', models.SlugField(default='NA')), ('survey_number_date', models.DateTimeField(null=True)), ('survey_report_date', models.DateTimeField(null=True)), ('remarks', models.CharField(blank=True, default='', max_length=200)), ('spare', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='data.Spares')), ], ), migrations.CreateModel( name='PostReceive', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity_received', models.PositiveSmallIntegerField(default=0)), ('receipt_number', models.SlugField(default='')), ('receive_date', models.DateTimeField(null=True)), ('remarks', models.CharField(blank=True, default='', max_length=200)), ('spare', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='data.Spares')), ], ), migrations.AddField( model_name='postdemand', name='spare', field=models.ForeignKey( on_delete=django.db.models.deletion.PROTECT, to='data.Spares'), ), migrations.CreateModel( name='IssueList', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity_toreturn', models.PositiveSmallIntegerField(default=0)), ('issue_entry', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='data.Issue')), ], ), migrations.AddField( model_name='issue', name='spare', field=models.ForeignKey( on_delete=django.db.models.deletion.PROTECT, to='data.Spares'), ), migrations.CreateModel( name='Demand', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity_todemand', models.PositiveSmallIntegerField(default=0)), ('spare', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='data.Spares')), ('survey_entry', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to='data.PostSurvey')), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('data', '0005_auto_20181205_0923'), ] operations = [ migrations.CreateModel( name='Artist', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=200)), ('mbid', models.UUIDField(blank=True, null=True)), ('gender', models.CharField(blank=True, choices=[('M', 'Male'), ('F', 'Female')], max_length=1, null=True)), ('begin', models.CharField(blank=True, max_length=10, null=True)), ('end', models.CharField(blank=True, max_length=10, null=True)), ('artist_type', models.CharField(choices=[('P', 'Person'), ('G', 'Group')], default='P', max_length=1)), ('dummy', models.BooleanField(db_index=True, default=False)), ('description_edited', models.BooleanField(default=False)), ('romanisation', models.CharField(blank=True, max_length=200, null=True)), ('description', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='data.Description')), ('group_members', models.ManyToManyField(blank=True, related_name='groups', to='jingju.Artist')), ('image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='jingju_artist_image', to='data.Image')), ], options={ 'ordering': ['id'], }, bases=(models.Model, data.models.ImageMixin), ), migrations.CreateModel( name='Composer', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=200)), ('mbid', models.UUIDField(blank=True, null=True)), ('gender', models.CharField(blank=True, choices=[('M', 'Male'), ('F', 'Female')], max_length=1, null=True)), ('begin', models.CharField(blank=True, max_length=10, null=True)), ('end', models.CharField(blank=True, max_length=10, null=True)), ('alias', models.CharField(blank=True, max_length=200, null=True)), ('description', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='data.Description')), ('image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='jingju_composer_image', to='data.Image')), ], options={ 'ordering': ['id'], }, bases=(models.Model, data.models.ImageMixin), ), migrations.CreateModel( name='Instrument', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('percussion', models.BooleanField(default=False)), ('name', models.CharField(max_length=50)), ('mbid', models.UUIDField(blank=True, null=True)), ('hidden', models.BooleanField(default=False)), ('description', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='data.Description')), ('image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='jingju_instrument_image', to='data.Image')), ], options={ 'ordering': ['id'], }, bases=(models.Model, data.models.ImageMixin), ), migrations.CreateModel( name='Play', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=100)), ('uuid', models.UUIDField(blank=True, null=True)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Recording', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(blank=True, max_length=200, null=True)), ('mbid', models.UUIDField(blank=True, null=True)), ], options={ 'ordering': ['id'], }, bases=(jingju.models.JingjuStyle, models.Model), ), migrations.CreateModel( name='RecordingInstrumentalist', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('artist', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='jingju.Artist')), ('instrument', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='jingju.Instrument')), ('recording', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='jingju.Recording')), ], bases=(jingju.models.JingjuStyle, models.Model), ), migrations.CreateModel( name='RecordingRelease', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('sequence', models.IntegerField(blank=True, null=True)), ('track', models.IntegerField(blank=True, null=True)), ('disc', models.IntegerField(blank=True, null=True)), ('disctrack', models.IntegerField(blank=True, null=True)), ('recording', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='jingju.Recording')), ], options={ 'ordering': ('track', ), }, ), migrations.CreateModel( name='Release', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('mbid', models.UUIDField(blank=True, null=True)), ('title', models.CharField(max_length=100)), ('artistcredit', models.CharField(max_length=255)), ('year', models.IntegerField(blank=True, null=True)), ('status', models.CharField(blank=True, max_length=100, null=True)), ('rel_type', models.CharField(blank=True, max_length=100, null=True)), ('artists', models.ManyToManyField(related_name='primary_concerts', to='jingju.Artist')), ('collection', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='data.Collection')), ('image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='jingju_release_image', to='data.Image')), ('recordings', models.ManyToManyField(through='jingju.RecordingRelease', to='jingju.Recording')), ], options={ 'ordering': ['id'], }, bases=(jingju.models.JingjuStyle, models.Model, data.models.ImageMixin), ), migrations.CreateModel( name='RoleType', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('code', models.CharField(db_index=True, max_length=10)), ('name', models.CharField(max_length=100)), ('romanisation', models.CharField(max_length=100)), ('uuid', models.UUIDField()), ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='jingju.RoleType')), ], options={ 'ordering': ['code'], }, ), migrations.CreateModel( name='Score', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ('source', models.CharField(max_length=100)), ('citation', models.CharField(blank=True, max_length=100, null=True)), ('citation_romanisation', models.CharField(blank=True, max_length=100, null=True)), ('uuid', models.UUIDField(blank=True, null=True)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='ShengqiangBanshi', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('code', models.CharField(db_index=True, max_length=10, unique=True)), ('name', models.CharField(max_length=100)), ('romanisation', models.CharField(max_length=100)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Work', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(blank=True, max_length=200, null=True)), ('mbid', models.UUIDField(blank=True, null=True)), ('composers', models.ManyToManyField(blank=True, related_name='works', to='jingju.Composer')), ('lyricists', models.ManyToManyField(blank=True, related_name='lyric_works', to='jingju.Composer')), ('play', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='jingju.Play')), ('score', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='jingju.Score')), ], options={ 'ordering': ['id'], }, bases=(jingju.models.JingjuStyle, models.Model), ), migrations.AddField( model_name='recordingrelease', name='release', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='jingju.Release'), ), migrations.AddField( model_name='recording', name='instrumentalists', field=models.ManyToManyField( related_name='instrumentalist', through='jingju.RecordingInstrumentalist', to='jingju.Artist'), ), migrations.AddField( model_name='recording', name='performers', field=models.ManyToManyField(to='jingju.Artist'), ), migrations.AddField( model_name='recording', name='shengqiangbanshi', field=models.ManyToManyField(to='jingju.ShengqiangBanshi'), ), migrations.AddField( model_name='recording', name='work', field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, to='jingju.Work'), ), migrations.AddField( model_name='artist', name='instrument', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='jingju', to='jingju.Instrument'), ), migrations.AddField( model_name='artist', name='main_instrument', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='jingju.Instrument'), ), migrations.AddField( model_name='artist', name='role_type', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='jingju.RoleType'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('data', '0003_auto_20180827_1752'), ] operations = [ migrations.CreateModel( name='Artist', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=200)), ('mbid', models.UUIDField(blank=True, null=True)), ('gender', models.CharField(blank=True, choices=[(b'M', b'Male'), (b'F', b'Female')], max_length=1, null=True)), ('begin', models.CharField(blank=True, max_length=10, null=True)), ('end', models.CharField(blank=True, max_length=10, null=True)), ('artist_type', models.CharField(choices=[(b'P', b'Person'), (b'G', b'Group')], default=b'P', max_length=1)), ('dummy', models.BooleanField(db_index=True, default=False)), ('description_edited', models.BooleanField(default=False)), ('description', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='data.Description')), ('group_members', models.ManyToManyField(blank=True, related_name='groups', to='jingju.Artist')), ('image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='jingju_artist_image', to='data.Image')), ], options={ 'ordering': ['id'], }, bases=(models.Model, data.models.ImageMixin), ), migrations.CreateModel( name='Instrument', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('percussion', models.BooleanField(default=False)), ('name', models.CharField(max_length=50)), ('mbid', models.UUIDField(blank=True, null=True)), ('hidden', models.BooleanField(default=False)), ('description', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='data.Description')), ('image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='jingju_instrument_image', to='data.Image')), ], options={ 'ordering': ['id'], }, bases=(models.Model, data.models.ImageMixin), ), migrations.CreateModel( name='Performer', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ('uuid', models.UUIDField()), ], options={ 'ordering': ['id'], }, ), migrations.CreateModel( name='Play', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ('uuid', models.UUIDField()), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Recording', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ], options={ 'ordering': ['id'], }, ), migrations.CreateModel( name='RecordingArtist', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('artist', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='jingju.Artist')), ('instrument', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='jingju.Instrument')), ('recording', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='jingju.Recording')), ], ), migrations.CreateModel( name='RecordingPerformer', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('sequence', models.IntegerField(blank=True, null=True)), ('performer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='jingju.Performer')), ('recording', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='jingju.Recording')), ], ), migrations.CreateModel( name='RecordingRelease', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('sequence', models.IntegerField(blank=True, null=True)), ('recording', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='jingju.Recording')), ], ), migrations.CreateModel( name='Release', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('mbid', models.UUIDField(blank=True, null=True)), ('title', models.CharField(max_length=100)), ('artistcredit', models.CharField(max_length=255)), ('year', models.IntegerField(blank=True, null=True)), ('status', models.CharField(blank=True, max_length=100, null=True)), ('rel_type', models.CharField(blank=True, max_length=100, null=True)), ('artists', models.ManyToManyField(related_name='primary_concerts', to='jingju.Artist')), ('image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='jingju_release_image', to='data.Image')), ('performer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='jingju.Performer')), ('recordings', models.ManyToManyField(through='jingju.RecordingRelease', to='jingju.Recording')), ], options={ 'ordering': ['id'], }, bases=(models.Model, data.models.ImageMixin), ), migrations.CreateModel( name='Roletype', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Score', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ('uuid', models.UUIDField()), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Work', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(blank=True, max_length=200, null=True)), ('mbid', models.UUIDField(blank=True, null=True)), ('play', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='jingju.Play')), ('score', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='jingju.Score')), ], options={ 'ordering': ['id'], }, ), migrations.AddField( model_name='recordingrelease', name='release', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='jingju.Release'), ), migrations.AddField( model_name='recording', name='instrumentalists', field=models.ManyToManyField(through='jingju.RecordingArtist', to='jingju.Artist'), ), migrations.AddField( model_name='recording', name='performer', field=models.ManyToManyField(through='jingju.RecordingPerformer', to='jingju.Performer'), ), migrations.AddField( model_name='recording', name='work', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='jingju.Work'), ), migrations.AddField( model_name='performer', name='roletype', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='jingju.Roletype'), ), migrations.AddField( model_name='artist', name='main_instrument', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='jingju.Instrument'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0009_alter_user_last_name_max_length'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField( default=False, help_text= 'Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('username', models.CharField( error_messages={ 'unique': 'A user with that username already exists.' }, help_text= 'Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[ django.contrib.auth.validators. UnicodeUsernameValidator() ], verbose_name='username')), ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')), ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')), ('is_staff', models.BooleanField( default=False, help_text= 'Designates whether the user can log into this admin site.', verbose_name='staff status')), ('is_active', models.BooleanField( default=True, help_text= 'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), ('date_joined', models.DateTimeField(auto_now_add=True, null=True)), ('bupt_id', models.CharField(default=data.models.default_bupt_id, max_length=10, unique=True)), ('name', models.TextField(default='')), ('email', models.EmailField(max_length=254, unique=True)), ('phone', models.CharField(default=data.models.default_phone, max_length=11, unique=True)), ('gender', models.CharField(choices=[('male', 'male'), ('female', 'female')], default='male', max_length=6)), ('usertype', models.CharField(choices=[('student', 'student'), ('teacher', 'teacher'), ('assistant', 'assistant')], default='student', max_length=20)), ('class_number', models.CharField(default='noClass', max_length=10)), ('wechat', models.TextField(null=True)), ('forgotten', models.BooleanField(default=False)), ('groups', models.ManyToManyField( blank=True, help_text= 'The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField( blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'verbose_name': 'user', 'verbose_name_plural': 'users', 'abstract': False, }, managers=[ ('objects', django.contrib.auth.models.UserManager()), ], ), migrations.CreateModel( name='HWFAssignment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.TextField()), ('description', models.TextField(blank=True, null=True)), ('assignment_type', models.CharField(choices=[('image', 'image'), ('docs', 'docs'), ('vary', 'vary')], default='vary', max_length=20)), ('start_time', models.DateTimeField(default='2019-01-01T00:00:00+00:00')), ('deadline', models.DateTimeField()), ('weight', models.FloatField(default=0.0)), ], ), migrations.CreateModel( name='HWFCourseClass', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.TextField()), ('description', models.TextField(blank=True, null=True)), ('marks', models.FloatField(default=0.0)), ('school', models.TextField(blank=True, null=True)), ('start_time', models.DateTimeField(blank=True, null=True)), ('end_time', models.DateTimeField(blank=True, null=True)), ('students', models.ManyToManyField(blank=True, related_name='students_course', to=settings.AUTH_USER_MODEL)), ('teachers', models.ManyToManyField(blank=True, related_name='teachers_course', to=settings.AUTH_USER_MODEL)), ('teaching_assistants', models.ManyToManyField( blank=True, related_name='teaching_assistants_course', to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='HWFFile', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('data', models.FileField(null=True, upload_to='homework_file')), ('initial_upload_time', models.DateTimeField(auto_now_add=True)), ('initial_upload_user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='HWFSubmission', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('aware', models.BooleanField(default=True)), ('submit_time', models.DateTimeField(auto_now_add=True)), ('description', models.TextField(blank=True, null=True)), ('score', models.FloatField(default=0.0)), ('is_excellent', models.BooleanField(default=False)), ('addfile', models.ManyToManyField(blank=True, related_name='addfile_submission', to='data.HWFFile')), ('assignment', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='assignment_submission', to='data.HWFAssignment')), ('image', models.ManyToManyField(blank=True, related_name='image_submission', to='data.HWFFile')), ('pdf', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='pdf_submission', to='data.HWFFile')), ('submitter', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='my_submission', to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Message', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('send_time', models.DateTimeField(auto_now_add=True)), ('read', models.BooleanField(default=False)), ], ), migrations.CreateModel( name='MessageContent', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('text', models.TextField(max_length=2000)), ], ), migrations.CreateModel( name='MessageFile', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('data', models.FileField(null=True, upload_to='chat_file')), ('initial_upload_time', models.DateTimeField(auto_now_add=True)), ('initial_upload_user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='UserAvatar', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('url_height', models.PositiveIntegerField(default=75)), ('url_width', models.PositiveIntegerField(default=75)), ('useravatar', models.ImageField(height_field='url_height', null=True, upload_to='avatars', width_field='url_width')), ('user', models.ManyToManyField(related_name='useravatar', to=settings.AUTH_USER_MODEL)), ], ), migrations.AddField( model_name='messagecontent', name='addfile', field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, related_name='file_message_content', to='data.MessageFile'), ), migrations.AddField( model_name='messagecontent', name='audio', field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, related_name='audio_message_content', to='data.MessageFile'), ), migrations.AddField( model_name='messagecontent', name='picture', field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, related_name='pic_message_content', to='data.MessageFile'), ), migrations.AddField( model_name='message', name='content', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='complete_message', to='data.MessageContent'), ), migrations.AddField( model_name='message', name='receiver', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='in_message', to=settings.AUTH_USER_MODEL), ), migrations.AddField( model_name='message', name='sender', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='out_message', to=settings.AUTH_USER_MODEL), ), migrations.AddField( model_name='hwfassignment', name='addfile', field=models.ManyToManyField(blank=True, related_name='assignment', to='data.HWFFile'), ), migrations.AddField( model_name='hwfassignment', name='course_class', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='course_assignments', to='data.HWFCourseClass'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('aplus_client', '0001_initial'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Comparison', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('similarity', models.FloatField(default=0.0)), ('matches_json', models.TextField(blank=True, default=None, null=True)), ('review', models.IntegerField(choices=[(-10, 'False alert'), (0, 'Unspecified match'), (5, 'Suspicious match'), (10, 'Plagiate'), (1, 'Approved plagiate')], default=0)), ], options={ 'ordering': ['-similarity'], }, ), migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('api_id', models.IntegerField()), ('url', models.URLField()), ('updated', models.DateTimeField(auto_now=True)), ('created', models.DateTimeField(auto_now_add=True)), ('key', data.models.URLKeyField( help_text='Unique alphanumeric course instance id', max_length=64, unique=True)), ('name', models.CharField(help_text='Descriptive course name', max_length=128)), ('provider', models.CharField(choices=[('a+', 'A+'), ('filesystem', 'File system')], default='a+', help_text='Provider for submission data', max_length=16)), ('tokenizer', models.CharField( choices=[('skip', 'Skip'), ('scala', 'Scala'), ('python', 'Python')], default='skip', help_text='Tokenizer for the submission contents', max_length=16)), ('minimum_match_tokens', models.IntegerField( default=15, help_text='Minimum number of tokens to consider a match') ), ('archived', models.BooleanField(db_index=True, default=False)), ('namespace', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='aplus_client.ApiNamespace')), ('reviewers', models.ManyToManyField( blank=True, help_text='Reviewers for match analysis', related_name='courses', to=settings.AUTH_USER_MODEL)), ], options={ 'ordering': ['-created'], }, ), migrations.CreateModel( name='Exercise', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created', models.DateTimeField(auto_now_add=True)), ('key', data.models.URLKeyField(help_text='Alphanumeric exercise id', max_length=64)), ('name', models.CharField(default='unknown', help_text='Descriptive exercise name', max_length=128)), ('override_tokenizer', models.CharField(blank=True, choices=[('skip', 'Skip'), ('scala', 'Scala'), ('python', 'Python')], max_length=8, null=True)), ('override_minimum_match_tokens', models.IntegerField(blank=True, null=True)), ('template_tokens', models.TextField(blank=True, default='')), ('paused', models.BooleanField(default=False)), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='exercises', to='data.Course')), ], options={ 'ordering': ['course', 'name', 'created'], }, ), migrations.CreateModel( name='ProviderQueue', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created', models.DateTimeField(auto_now_add=True)), ('data', models.CharField(max_length=128)), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', to='data.Course')), ], ), migrations.CreateModel( name='Student', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created', models.DateTimeField(auto_now_add=True)), ('key', data.models.URLKeyField(help_text='Alphanumeric student id', max_length=64)), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='students', to='data.Course')), ], options={ 'ordering': ['course', 'key'], }, ), migrations.CreateModel( name='Submission', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created', models.DateTimeField(auto_now_add=True)), ('provider_url', models.CharField(blank=True, default=None, max_length=256, null=True)), ('grade', models.FloatField(default=0.0)), ('tokens', models.TextField(blank=True, default=None, null=True)), ('indexes_json', models.TextField(blank=True, default=None, null=True)), ('authored_token_count', models.IntegerField(blank=True, default=None, null=True)), ('longest_authored_tile', models.IntegerField(blank=True, default=None, null=True)), ('max_similarity', models.FloatField(blank=True, db_index=True, default=None, null=True)), ('exercise', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='submissions', to='data.Exercise')), ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='submissions', to='data.Student')), ], ), migrations.AddField( model_name='comparison', name='submission_a', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='+', to='data.Submission'), ), migrations.AddField( model_name='comparison', name='submission_b', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='data.Submission'), ), migrations.AlterUniqueTogether( name='student', unique_together=set([('course', 'key')]), ), migrations.AlterUniqueTogether( name='exercise', unique_together=set([('course', 'key')]), ), migrations.AlterUniqueTogether( name='comparison', unique_together=set([('submission_a', 'submission_b')]), ), ]