0001_initial.py 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. # Generated by Django 3.2.9 on 2021-11-25 15:56
  2. from django.conf import settings
  3. from django.db import migrations, models
  4. import django.db.models.deletion
  5. import pycs_api.models.file
  6. import uuid
  7. class Migration(migrations.Migration):
  8. initial = True
  9. dependencies = [
  10. migrations.swappable_dependency(settings.AUTH_USER_MODEL),
  11. ]
  12. operations = [
  13. migrations.CreateModel(
  14. name='File',
  15. fields=[
  16. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  17. ('name', models.CharField(max_length=255)),
  18. ('uuid', models.UUIDField(default=uuid.uuid4)),
  19. ('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)),
  20. ('size', models.PositiveIntegerField()),
  21. ('created', models.DateTimeField(auto_now_add=True)),
  22. ('path', models.ImageField(upload_to=pycs_api.models.file.project_directory)),
  23. ],
  24. ),
  25. migrations.CreateModel(
  26. name='Label',
  27. fields=[
  28. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  29. ('name', models.CharField(max_length=255)),
  30. ('created', models.DateTimeField(auto_now_add=True)),
  31. ('reference', models.CharField(max_length=255)),
  32. ('parent', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='pycs_api.label')),
  33. ],
  34. ),
  35. migrations.CreateModel(
  36. name='LabelProvider',
  37. fields=[
  38. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  39. ('name', models.CharField(max_length=255)),
  40. ('description', models.TextField()),
  41. ('root_folder', models.CharField(max_length=255, unique=True)),
  42. ('configuration_file', models.CharField(max_length=255, unique=True)),
  43. ],
  44. options={
  45. 'unique_together': {('root_folder', 'configuration_file')},
  46. },
  47. ),
  48. migrations.CreateModel(
  49. name='Model',
  50. fields=[
  51. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  52. ('name', models.CharField(max_length=255)),
  53. ('description', models.TextField()),
  54. ('root_folder', models.CharField(max_length=255, unique=True)),
  55. ('supports_encoded', models.TextField()),
  56. ],
  57. options={
  58. 'abstract': False,
  59. },
  60. ),
  61. migrations.CreateModel(
  62. name='Result',
  63. fields=[
  64. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  65. ('name', models.CharField(max_length=255)),
  66. ('type', models.CharField(choices=[('labeled-image', 'Image Label'), ('bounding-box', 'Bounding Box')], max_length=32)),
  67. ('origin', models.CharField(choices=[('manual', 'Manual result'), ('computed', 'Automatically generated result')], max_length=32)),
  68. ('data_encoded', models.TextField()),
  69. ('file', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='pycs_api.file')),
  70. ('label', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='pycs_api.label')),
  71. ],
  72. options={
  73. 'abstract': False,
  74. },
  75. ),
  76. migrations.CreateModel(
  77. name='Project',
  78. fields=[
  79. ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  80. ('name', models.CharField(max_length=255)),
  81. ('description', models.TextField()),
  82. ('created', models.DateTimeField(auto_now_add=True)),
  83. ('root_folder', models.CharField(max_length=255, unique=True)),
  84. ('data_folder', models.CharField(max_length=255)),
  85. ('external_data', models.BooleanField()),
  86. ('label_provider', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='pycs_api.labelprovider')),
  87. ('model', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='pycs_api.model')),
  88. ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='projects', related_query_name='project', to=settings.AUTH_USER_MODEL)),
  89. ],
  90. options={
  91. 'abstract': False,
  92. },
  93. ),
  94. migrations.AddField(
  95. model_name='label',
  96. name='project',
  97. field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='pycs_api.project'),
  98. ),
  99. migrations.AddField(
  100. model_name='file',
  101. name='project',
  102. field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='pycs_api.project'),
  103. ),
  104. migrations.AlterUniqueTogether(
  105. name='label',
  106. unique_together={('project', 'reference')},
  107. ),
  108. migrations.AlterUniqueTogether(
  109. name='file',
  110. unique_together={('project', 'path')},
  111. ),
  112. ]