|
@@ -0,0 +1,118 @@
|
|
|
+# Generated by Django 3.2.9 on 2021-11-25 15:56
|
|
|
+
|
|
|
+from django.conf import settings
|
|
|
+from django.db import migrations, models
|
|
|
+import django.db.models.deletion
|
|
|
+import pycs_api.models.file
|
|
|
+import uuid
|
|
|
+
|
|
|
+
|
|
|
+class Migration(migrations.Migration):
|
|
|
+
|
|
|
+ initial = True
|
|
|
+
|
|
|
+ dependencies = [
|
|
|
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
|
+ ]
|
|
|
+
|
|
|
+ operations = [
|
|
|
+ migrations.CreateModel(
|
|
|
+ name='File',
|
|
|
+ fields=[
|
|
|
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
|
+ ('name', models.CharField(max_length=255)),
|
|
|
+ ('uuid', models.UUIDField(default=uuid.uuid4)),
|
|
|
+ ('extension', models.CharField(choices=[(pycs_api.models.file.Extensions['JPG'], 'JPG Image'), (pycs_api.models.file.Extensions['JPEG'], 'JPEG Image'), (pycs_api.models.file.Extensions['PNG'], 'PNG Image')], max_length=16)),
|
|
|
+ ('size', models.PositiveIntegerField()),
|
|
|
+ ('created', models.DateTimeField(auto_now_add=True)),
|
|
|
+ ('path', models.ImageField(upload_to=pycs_api.models.file.project_directory)),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ migrations.CreateModel(
|
|
|
+ name='Label',
|
|
|
+ fields=[
|
|
|
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
|
+ ('name', models.CharField(max_length=255)),
|
|
|
+ ('created', models.DateTimeField(auto_now_add=True)),
|
|
|
+ ('reference', models.CharField(max_length=255)),
|
|
|
+ ('parent', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='pycs_api.label')),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ migrations.CreateModel(
|
|
|
+ name='LabelProvider',
|
|
|
+ fields=[
|
|
|
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
|
+ ('name', models.CharField(max_length=255)),
|
|
|
+ ('description', models.TextField()),
|
|
|
+ ('root_folder', models.CharField(max_length=255, unique=True)),
|
|
|
+ ('configuration_file', models.CharField(max_length=255, unique=True)),
|
|
|
+ ],
|
|
|
+ options={
|
|
|
+ 'unique_together': {('root_folder', 'configuration_file')},
|
|
|
+ },
|
|
|
+ ),
|
|
|
+ migrations.CreateModel(
|
|
|
+ name='Model',
|
|
|
+ fields=[
|
|
|
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
|
+ ('name', models.CharField(max_length=255)),
|
|
|
+ ('description', models.TextField()),
|
|
|
+ ('root_folder', models.CharField(max_length=255, unique=True)),
|
|
|
+ ('supports_encoded', models.TextField()),
|
|
|
+ ],
|
|
|
+ options={
|
|
|
+ 'abstract': False,
|
|
|
+ },
|
|
|
+ ),
|
|
|
+ migrations.CreateModel(
|
|
|
+ name='Result',
|
|
|
+ fields=[
|
|
|
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
|
+ ('name', models.CharField(max_length=255)),
|
|
|
+ ('type', models.CharField(choices=[('labeled-image', 'Image Label'), ('bounding-box', 'Bounding Box')], max_length=32)),
|
|
|
+ ('origin', models.CharField(choices=[('manual', 'Manual result'), ('computed', 'Automatically generated result')], max_length=32)),
|
|
|
+ ('data_encoded', models.TextField()),
|
|
|
+ ('file', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='pycs_api.file')),
|
|
|
+ ('label', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='pycs_api.label')),
|
|
|
+ ],
|
|
|
+ options={
|
|
|
+ 'abstract': False,
|
|
|
+ },
|
|
|
+ ),
|
|
|
+ migrations.CreateModel(
|
|
|
+ name='Project',
|
|
|
+ fields=[
|
|
|
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
|
+ ('name', models.CharField(max_length=255)),
|
|
|
+ ('description', models.TextField()),
|
|
|
+ ('created', models.DateTimeField(auto_now_add=True)),
|
|
|
+ ('root_folder', models.CharField(max_length=255, unique=True)),
|
|
|
+ ('data_folder', models.CharField(max_length=255)),
|
|
|
+ ('external_data', models.BooleanField()),
|
|
|
+ ('label_provider', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='pycs_api.labelprovider')),
|
|
|
+ ('model', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='pycs_api.model')),
|
|
|
+ ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='projects', related_query_name='project', to=settings.AUTH_USER_MODEL)),
|
|
|
+ ],
|
|
|
+ options={
|
|
|
+ 'abstract': False,
|
|
|
+ },
|
|
|
+ ),
|
|
|
+ migrations.AddField(
|
|
|
+ model_name='label',
|
|
|
+ name='project',
|
|
|
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='pycs_api.project'),
|
|
|
+ ),
|
|
|
+ migrations.AddField(
|
|
|
+ model_name='file',
|
|
|
+ name='project',
|
|
|
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='pycs_api.project'),
|
|
|
+ ),
|
|
|
+ migrations.AlterUniqueTogether(
|
|
|
+ name='label',
|
|
|
+ unique_together={('project', 'reference')},
|
|
|
+ ),
|
|
|
+ migrations.AlterUniqueTogether(
|
|
|
+ name='file',
|
|
|
+ unique_together={('project', 'path')},
|
|
|
+ ),
|
|
|
+ ]
|