class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('engine', '0021_auto_20190826_1827'), ] operations = [ migrations.CreateModel( name='Project', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', cvat.apps.engine.models.SafeCharField(max_length=256)), ('bug_tracker', models.CharField(blank=True, default='', max_length=2000)), ('created_date', models.DateTimeField(auto_now_add=True)), ('updated_date', models.DateTimeField(auto_now_add=True)), ('status', models.CharField(choices=[('annotation', 'ANNOTATION'), ('validation', 'VALIDATION'), ('completed', 'COMPLETED')], default=cvat.apps.engine.models.StatusChoice( 'annotation'), max_length=32)), ('assignee', models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ('owner', models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ], options={ 'default_permissions': (), }, ), migrations.AddField( model_name='task', name='project', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='tasks', related_query_name='task', to='engine.Project'), ), ]
class Migration(migrations.Migration): dependencies = [ ('engine', '0050_auto_20220211_1425'), ] operations = [ migrations.RemoveField( model_name='jobcommit', name='message', ), migrations.RemoveField( model_name='jobcommit', name='version', ), migrations.AddField( model_name='jobcommit', name='data', field=models.JSONField( default=dict, encoder=cvat.apps.engine.models.Commit.JSONEncoder), ), migrations.AddField( model_name='jobcommit', name='scope', field=models.CharField(default='', max_length=32), ), ]
class Migration(migrations.Migration): dependencies = [ ('organizations', '0001_initial'), ('engine', '0046_data_sorting_method'), ] operations = [ migrations.RemoveField( model_name='issue', name='review', ), migrations.RemoveField( model_name='job', name='reviewer', ), migrations.AddField( model_name='cloudstorage', name='organization', field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='cloudstorages', to='organizations.organization'), ), migrations.AddField( model_name='job', name='stage', field=models.CharField(choices=[('annotation', 'ANNOTATION'), ('validation', 'VALIDATION'), ('acceptance', 'ACCEPTANCE')], default=cvat.apps.engine.models.StageChoice['ANNOTATION'], max_length=32), ), migrations.AddField( model_name='job', name='state', field=models.CharField(choices=[('new', 'NEW'), ('in progress', 'IN_PROGRESS'), ('completed', 'COMPLETED'), ('rejected', 'REJECTED')], default=cvat.apps.engine.models.StateChoice['NEW'], max_length=32), ), migrations.AddField( model_name='project', name='organization', field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='projects', to='organizations.organization'), ), migrations.AddField( model_name='task', name='organization', field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='tasks', to='organizations.organization'), ), migrations.DeleteModel( name='Review', ), ]
class Migration(migrations.Migration): dependencies = [ ('engine', '0011_add_task_source_and_safecharfield'), ] operations = [ migrations.AddField( model_name='job', name='status', field=models.CharField( default=cvat.apps.engine.models.StatusChoice('annotation'), max_length=32), ), migrations.AlterField( model_name='task', name='status', field=models.CharField( default=cvat.apps.engine.models.StatusChoice('annotation'), max_length=32), ), ]
class Migration(migrations.Migration): dependencies = [ ('engine', '0034_auto_20201125_1426'), ] operations = [ migrations.AddField( model_name='data', name='storage', field=models.CharField(choices=[('local', 'LOCAL'), ('share', 'SHARE')], default=cvat.apps.engine.models.StorageChoice['LOCAL'], max_length=15), ), ]
class Migration(migrations.Migration): dependencies = [ ('engine', '0035_data_storage'), ] operations = [ migrations.AddField( model_name='task', name='dimension', field=models.CharField( choices=[('3d', 'DIM_3D'), ('2d', 'DIM_2D')], default=cvat.apps.engine.models.DimensionType['DIM_2D'], max_length=2), ), migrations.CreateModel( name='RelatedFile', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('path', models.FileField( max_length=1024, storage=cvat.apps.engine.models.MyFileSystemStorage(), upload_to=cvat.apps.engine.models.upload_path_handler)), ('data', models.ForeignKey(default=1, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='related_files', to='engine.data')), ('primary_image', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='related_files', to='engine.image')), ], options={ 'default_permissions': (), 'unique_together': {('data', 'path')}, }, ), ]
class Migration(migrations.Migration): dependencies = [ ('engine', '0028_labelcolor'), ] operations = [ migrations.AddField( model_name='data', name='storage_method', field=models.CharField( choices=[('cache', 'CACHE'), ('file_system', 'FILE_SYSTEM')], default=cvat.apps.engine.models.StorageMethodChoice( 'file_system'), max_length=15), ), migrations.RunPython(unzip), ]
class Migration(migrations.Migration): dependencies = [ ('annotation', '0001_initial'), ] operations = [ migrations.CreateModel( name='AnnotationDumper', fields=[ ('display_name', cvat.apps.engine.models.SafeCharField(max_length=256, primary_key=True, serialize=False)), ('format', models.CharField(max_length=16)), ('version', models.CharField(max_length=16)), ('handler', models.CharField(max_length=256)), ('annotation_format', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='annotation.AnnotationFormat')), ], options={ 'abstract': False, 'default_permissions': (), }, ), migrations.CreateModel( name='AnnotationLoader', fields=[ ('display_name', cvat.apps.engine.models.SafeCharField(max_length=256, primary_key=True, serialize=False)), ('format', models.CharField(max_length=16)), ('version', models.CharField(max_length=16)), ('handler', models.CharField(max_length=256)), ('annotation_format', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='annotation.AnnotationFormat')), ], options={ 'abstract': False, 'default_permissions': (), }, ), migrations.RunPython(code=split_handlers, ), migrations.RemoveField( model_name='annotationhandler', name='annotation_format', ), migrations.DeleteModel(name='AnnotationHandler', ), ]
class Migration(migrations.Migration): replaces = [('engine', '0045_data_sorting_method')] dependencies = [ ('engine', '0045_auto_20211123_0824'), ] operations = [ migrations.AddField( model_name='data', name='sorting_method', field=models.CharField(choices=[('lexicographical', 'LEXICOGRAPHICAL'), ('natural', 'NATURAL'), ('predefined', 'PREDEFINED'), ('random', 'RANDOM')], default=cvat.apps.engine.models. SortingMethod['LEXICOGRAPHICAL'], max_length=15), ), ]
class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('engine', '0039_auto_training'), ] operations = [ migrations.AlterField( model_name='data', name='storage', field=models.CharField(choices=[('cloud_storage', 'CLOUD_STORAGE'), ('local', 'LOCAL'), ('share', 'SHARE')], default=cvat.apps.engine.models.StorageChoice['LOCAL'], max_length=15), ), migrations.CreateModel( name='CloudStorage', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('provider_type', models.CharField(choices=[('AWS_S3_BUCKET', 'AWS_S3'), ('AZURE_CONTAINER', 'AZURE_CONTAINER'), ('GOOGLE_DRIVE', 'GOOGLE_DRIVE')], max_length=20)), ('resource', models.CharField(max_length=63)), ('display_name', models.CharField(max_length=63)), ('created_date', models.DateTimeField(auto_now_add=True)), ('updated_date', models.DateTimeField(auto_now=True)), ('credentials', models.CharField(max_length=500)), ('credentials_type', models.CharField(choices=[('TEMP_KEY_SECRET_KEY_TOKEN_SET', 'TEMP_KEY_SECRET_KEY_TOKEN_SET'), ('ACCOUNT_NAME_TOKEN_PAIR', 'ACCOUNT_NAME_TOKEN_PAIR'), ('ANONYMOUS_ACCESS', 'ANONYMOUS_ACCESS')], max_length=29)), ('specific_attributes', models.CharField(blank=True, max_length=50)), ('description', models.TextField(blank=True)), ('owner', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='cloud_storages', to=settings.AUTH_USER_MODEL)), ], options={ 'default_permissions': (), 'unique_together': {('provider_type', 'resource', 'credentials')}, }, ), migrations.AddField( model_name='data', name='cloud_storage', field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='data', to='engine.cloudstorage'), ), ]
class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('engine', '0026_auto_20201221_2328'), ] operations = [ migrations.CreateModel( name='Comment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('message', models.TextField(default='')), ('created_date', models.DateTimeField(auto_now_add=True)), ('updated_date', models.DateTimeField(auto_now=True)), ('author', models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Issue', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('frame', models.PositiveIntegerField()), ('position', cvat.apps.engine.models.FloatArrayField()), ('created_date', models.DateTimeField(auto_now_add=True)), ('resolved_date', models.DateTimeField(blank=True, null=True)), ], ), migrations.CreateModel( name='Profile', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('rating', models.FloatField(default=0.0)), ('user', models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Review', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('estimated_quality', models.FloatField()), ('status', models.CharField(choices=[('accepted', 'ACCEPTED'), ('rejected', 'REJECTED'), ('review_further', 'REVIEW_FURTHER') ], max_length=16)), ('assignee', models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='reviewed', to=settings.AUTH_USER_MODEL)), ], ), migrations.RemoveField( model_name='pluginoption', name='plugin', ), migrations.AddField( model_name='data', name='storage', field=models.CharField( choices=[('local', 'LOCAL'), ('share', 'SHARE')], default=cvat.apps.engine.models.StorageChoice['LOCAL'], max_length=15), ), migrations.AddField( model_name='data', name='storage_method', field=models.CharField(choices=[('cache', 'CACHE'), ('file_system', 'FILE_SYSTEM')], default=cvat.apps.engine.models. StorageMethodChoice['FILE_SYSTEM'], max_length=15), ), migrations.AddField( model_name='job', name='reviewer', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='review_job_set', to=settings.AUTH_USER_MODEL), ), migrations.AddField( model_name='label', name='color', field=models.CharField(default='', max_length=8), ), migrations.AddField( model_name='label', name='project', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='engine.project'), ), migrations.AddField( model_name='labeledimage', name='source', field=models.CharField(choices=[('auto', 'AUTO'), ('manual', 'MANUAL')], default='manual', max_length=16, null=True), ), migrations.AddField( model_name='labeledshape', name='source', field=models.CharField(choices=[('auto', 'AUTO'), ('manual', 'MANUAL')], default='manual', max_length=16, null=True), ), migrations.AddField( model_name='labeledtrack', name='source', field=models.CharField(choices=[('auto', 'AUTO'), ('manual', 'MANUAL')], default='manual', max_length=16, null=True), ), migrations.AlterField( model_name='labeledshape', name='occluded', field=models.BooleanField(default=False, help_text='是否被遮挡'), ), migrations.AlterField( model_name='trackedshape', name='occluded', field=models.BooleanField(default=False, help_text='是否被遮挡'), ), migrations.DeleteModel(name='Plugin', ), migrations.DeleteModel(name='PluginOption', ), migrations.AddField( model_name='review', name='job', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='engine.job'), ), migrations.AddField( model_name='review', name='reviewer', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='reviews', to=settings.AUTH_USER_MODEL), ), migrations.AddField( model_name='issue', name='job', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='engine.job'), ), migrations.AddField( model_name='issue', name='owner', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='issues', to=settings.AUTH_USER_MODEL), ), migrations.AddField( model_name='issue', name='resolver', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='resolved_issues', to=settings.AUTH_USER_MODEL), ), migrations.AddField( model_name='issue', name='review', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='engine.review'), ), migrations.AddField( model_name='comment', name='issue', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='engine.issue'), ), ]
class Migration(migrations.Migration): dependencies = [ ('engine', '0016_attribute_spec_20190217'), ] operations = [ migrations.CreateModel( name='LabeledImageAttributeVal', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('value', cvat.apps.engine.models.SafeCharField(max_length=64)), ('spec', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='engine.AttributeSpec')), ], options={ 'abstract': False, 'default_permissions': (), }, ), migrations.CreateModel( name='LabeledShapeAttributeVal', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('value', cvat.apps.engine.models.SafeCharField(max_length=64)), ('spec', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='engine.AttributeSpec')), ], options={ 'abstract': False, 'default_permissions': (), }, ), migrations.CreateModel( name='LabeledTrackAttributeVal', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('value', cvat.apps.engine.models.SafeCharField(max_length=64)), ('spec', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='engine.AttributeSpec')), ], options={ 'abstract': False, 'default_permissions': (), }, ), migrations.CreateModel( name='TrackedShape', fields=[ ('type', models.CharField( choices=[('rectangle', 'RECTANGLE'), ('polygon', 'POLYGON'), ('polyline', 'POLYLINE'), ('points', 'POINTS')], max_length=16)), ('occluded', models.BooleanField(default=False)), ('z_order', models.IntegerField(default=0)), ('points', cvat.apps.engine.models.FloatArrayField()), ('id', models.BigAutoField(primary_key=True, serialize=False)), ('frame', models.PositiveIntegerField()), ('outside', models.BooleanField(default=False)), ], options={ 'default_permissions': (), }, ), migrations.CreateModel( name='TrackedShapeAttributeVal', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('value', cvat.apps.engine.models.SafeCharField(max_length=64)), ('shape', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='engine.TrackedShape')), ('spec', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='engine.AttributeSpec')), ], options={ 'abstract': False, 'default_permissions': (), }, ), migrations.CreateModel( name='LabeledImage', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('frame', models.PositiveIntegerField()), ('group', models.PositiveIntegerField(null=True)), ], options={ 'abstract': False, 'default_permissions': (), }, ), migrations.CreateModel( name='LabeledShape', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('frame', models.PositiveIntegerField()), ('group', models.PositiveIntegerField(null=True)), ('type', models.CharField( choices=[('rectangle', 'RECTANGLE'), ('polygon', 'POLYGON'), ('polyline', 'POLYLINE'), ('points', 'POINTS')], max_length=16)), ('occluded', models.BooleanField(default=False)), ('z_order', models.IntegerField(default=0)), ('points', cvat.apps.engine.models.FloatArrayField()), ], options={ 'abstract': False, 'default_permissions': (), }, ), migrations.CreateModel( name='LabeledTrack', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('frame', models.PositiveIntegerField()), ('group', models.PositiveIntegerField(null=True)), ], options={ 'abstract': False, 'default_permissions': (), }, ), migrations.AddField( model_name='labeledimage', name='job', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='engine.Job'), ), migrations.AddField( model_name='labeledtrack', name='job', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='engine.Job'), ), migrations.AddField( model_name='labeledshape', name='job', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='engine.Job'), ), migrations.AddField( model_name='labeledimage', name='label', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='engine.Label'), ), migrations.AddField( model_name='labeledshape', name='label', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='engine.Label'), ), migrations.AddField( model_name='labeledtrack', name='label', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='engine.Label'), ), migrations.AddField( model_name='trackedshape', name='track', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='engine.LabeledTrack'), ), migrations.AddField( model_name='labeledtrackattributeval', name='track', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='engine.LabeledTrack'), ), migrations.AddField( model_name='labeledshapeattributeval', name='shape', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='engine.LabeledShape'), ), migrations.AddField( model_name='labeledimageattributeval', name='image', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='engine.LabeledImage'), ), migrations.RunPython( code=copy_annotations_forward, reverse_code=copy_annotations_backward, ), migrations.RemoveField( model_name='labeledbox', name='job', ), migrations.RemoveField( model_name='labeledbox', name='label', ), migrations.RemoveField( model_name='labeledboxattributeval', name='box', ), migrations.RemoveField( model_name='labeledboxattributeval', name='spec', ), migrations.RemoveField( model_name='labeledpoints', name='job', ), migrations.RemoveField( model_name='labeledpoints', name='label', ), migrations.RemoveField( model_name='labeledpointsattributeval', name='points', ), migrations.RemoveField( model_name='labeledpointsattributeval', name='spec', ), migrations.RemoveField( model_name='labeledpolygon', name='job', ), migrations.RemoveField( model_name='job', name='max_shape_id', ), migrations.RemoveField( model_name='labeledpolygon', name='label', ), migrations.RemoveField( model_name='labeledpolygonattributeval', name='polygon', ), migrations.RemoveField( model_name='labeledpolygonattributeval', name='spec', ), migrations.RemoveField( model_name='labeledpolyline', name='job', ), migrations.RemoveField( model_name='labeledpolyline', name='label', ), migrations.RemoveField( model_name='labeledpolylineattributeval', name='polyline', ), migrations.RemoveField( model_name='labeledpolylineattributeval', name='spec', ), migrations.RemoveField( model_name='objectpath', name='job', ), migrations.RemoveField( model_name='objectpath', name='label', ), migrations.RemoveField( model_name='objectpathattributeval', name='spec', ), migrations.RemoveField( model_name='objectpathattributeval', name='track', ), migrations.RemoveField( model_name='trackedbox', name='track', ), migrations.RemoveField( model_name='trackedboxattributeval', name='box', ), migrations.RemoveField( model_name='trackedboxattributeval', name='spec', ), migrations.RemoveField( model_name='trackedpoints', name='track', ), migrations.RemoveField( model_name='trackedpointsattributeval', name='points', ), migrations.RemoveField( model_name='trackedpointsattributeval', name='spec', ), migrations.RemoveField( model_name='trackedpolygon', name='track', ), migrations.RemoveField( model_name='trackedpolygonattributeval', name='polygon', ), migrations.RemoveField( model_name='trackedpolygonattributeval', name='spec', ), migrations.RemoveField( model_name='trackedpolyline', name='track', ), migrations.RemoveField( model_name='trackedpolylineattributeval', name='polyline', ), migrations.RemoveField( model_name='trackedpolylineattributeval', name='spec', ), migrations.DeleteModel( name='LabeledBox', ), migrations.DeleteModel( name='LabeledBoxAttributeVal', ), migrations.DeleteModel( name='LabeledPoints', ), migrations.DeleteModel( name='LabeledPointsAttributeVal', ), migrations.DeleteModel( name='LabeledPolygon', ), migrations.DeleteModel( name='LabeledPolygonAttributeVal', ), migrations.DeleteModel( name='LabeledPolyline', ), migrations.DeleteModel( name='LabeledPolylineAttributeVal', ), migrations.DeleteModel( name='ObjectPath', ), migrations.DeleteModel( name='ObjectPathAttributeVal', ), migrations.DeleteModel( name='TrackedBox', ), migrations.DeleteModel( name='TrackedBoxAttributeVal', ), migrations.DeleteModel( name='TrackedPoints', ), migrations.DeleteModel( name='TrackedPointsAttributeVal', ), migrations.DeleteModel( name='TrackedPolygon', ), migrations.DeleteModel( name='TrackedPolygonAttributeVal', ), migrations.DeleteModel( name='TrackedPolyline', ), migrations.DeleteModel( name='TrackedPolylineAttributeVal', ), ]
class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('engine', '0033_projects_adjastment'), ] operations = [ migrations.AddField( model_name='job', name='reviewer', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='review_job_set', to=settings.AUTH_USER_MODEL), ), migrations.CreateModel( name='Review', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('estimated_quality', models.FloatField()), ('status', models.CharField(choices=[('accepted', 'ACCEPTED'), ('rejected', 'REJECTED'), ('review_further', 'REVIEW_FURTHER') ], max_length=16)), ('assignee', models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='reviewed', to=settings.AUTH_USER_MODEL)), ('job', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='engine.job')), ('reviewer', models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='reviews', to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Profile', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('rating', models.FloatField(default=0.0)), ('user', models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Issue', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('frame', models.PositiveIntegerField()), ('position', cvat.apps.engine.models.FloatArrayField()), ('created_date', models.DateTimeField(auto_now_add=True)), ('resolved_date', models.DateTimeField(blank=True, null=True)), ('job', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='engine.job')), ('owner', models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='issues', to=settings.AUTH_USER_MODEL)), ('resolver', models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='resolved_issues', to=settings.AUTH_USER_MODEL)), ('review', models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='engine.review')), ], ), migrations.CreateModel( name='Comment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('message', models.TextField(default='')), ('created_date', models.DateTimeField(auto_now_add=True)), ('updated_date', models.DateTimeField(auto_now=True)), ('author', models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), ('issue', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='engine.issue')), ], ), migrations.RunPython(create_profile), ]