Alter models links constraint to allow annotations deletions in the admin 0.1.10
authorymh <ymh.work@gmail.com>
Thu, 02 Aug 2018 16:10:31 +0200
changeset 592 a87ffe8e08e5
parent 591 30644b6ac4ce
child 593 f8310b7ddef0
Alter models links constraint to allow annotations deletions in the admin
src/iconolab/__init__.py
src/iconolab/migrations/0033_auto_20180802_1409.py
src/iconolab/models.py
--- a/src/iconolab/__init__.py	Thu Aug 02 11:08:38 2018 +0200
+++ b/src/iconolab/__init__.py	Thu Aug 02 16:10:31 2018 +0200
@@ -1,4 +1,4 @@
-VERSION = (0, 1, 9, "final", 0)
+VERSION = (0, 1, 10, "final", 0)
 
 VERSION_STR = ".".join(map(lambda i: "%02d" % (i,), VERSION[:2]))
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/iconolab/migrations/0033_auto_20180802_1409.py	Thu Aug 02 16:10:31 2018 +0200
@@ -0,0 +1,59 @@
+# Generated by Django 2.0.6 on 2018-08-02 14:09
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('iconolab', '0032_auto_20180704_1131'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='annotation',
+            name='current_revision',
+            field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='current_for_annotation', to='iconolab.AnnotationRevision'),
+        ),
+        migrations.AlterField(
+            model_name='annotation',
+            name='source_revision',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='source_related_annotation', to='iconolab.AnnotationRevision'),
+        ),
+        migrations.AlterField(
+            model_name='annotationrevision',
+            name='annotation',
+            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='revisions', to='iconolab.Annotation'),
+        ),
+        migrations.AlterField(
+            model_name='annotationrevision',
+            name='merge_parent_revision',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='child_revisions_merge', to='iconolab.AnnotationRevision'),
+        ),
+        migrations.AlterField(
+            model_name='annotationrevision',
+            name='parent_revision',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='child_revisions', to='iconolab.AnnotationRevision'),
+        ),
+        migrations.AlterField(
+            model_name='annotationstats',
+            name='annotation',
+            field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='stats', to='iconolab.Annotation'),
+        ),
+        migrations.AlterField(
+            model_name='image',
+            name='item',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='images', to='iconolab.Item'),
+        ),
+        migrations.AlterField(
+            model_name='imagestats',
+            name='image',
+            field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='stats', to='iconolab.Image'),
+        ),
+        migrations.AlterField(
+            model_name='itemmetadata',
+            name='item',
+            field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='metadatas', to='iconolab.Item'),
+        ),
+    ]
--- a/src/iconolab/models.py	Thu Aug 02 11:08:38 2018 +0200
+++ b/src/iconolab/models.py	Thu Aug 02 16:10:31 2018 +0200
@@ -152,7 +152,7 @@
         Metadata object for the item class.
     """
 
-    item = models.OneToOneField('Item', related_name='metadatas', on_delete=models.PROTECT)
+    item = models.OneToOneField('Item', related_name='metadatas', on_delete=models.CASCADE)
 
     natural_key = models.CharField(max_length=1024, default="", unique=True)
 
@@ -203,7 +203,7 @@
     media = models.ImageField(upload_to='uploads/',
                               height_field='height', width_field='width')
     item = models.ForeignKey(
-        'Item', related_name='images', null=True, blank=True, on_delete=models.PROTECT)
+        'Item', related_name='images', null=True, blank=True, on_delete=models.CASCADE)
     height = models.IntegerField(null=False, blank=False)
     width = models.IntegerField(null=False, blank=False)
     created = models.DateTimeField(auto_now_add=True, null=True)
@@ -240,7 +240,7 @@
         displayed in image and item pages
     """
     image = models.OneToOneField(
-        'Image', related_name='stats', blank=False, null=False, on_delete=models.PROTECT)
+        'Image', related_name='stats', blank=False, null=False, on_delete=models.CASCADE)
     views_count = models.IntegerField(blank=True, null=True, default=0)
     annotations_count = models.IntegerField(blank=True, null=True, default=0)
     submitted_revisions_count = models.IntegerField(
@@ -441,9 +441,9 @@
     image = models.ForeignKey(
         'Image', related_name='annotations', on_delete=models.CASCADE)
     source_revision = models.ForeignKey(
-        'AnnotationRevision', related_name='source_related_annotation', blank=True, null=True, on_delete=models.PROTECT)
+        'AnnotationRevision', related_name='source_related_annotation', blank=True, null=True, on_delete=models.SET_NULL)
     current_revision = models.OneToOneField(
-        'AnnotationRevision', related_name='current_for_annotation', blank=True, null=True, on_delete=models.PROTECT)
+        'AnnotationRevision', related_name='current_for_annotation', blank=True, null=True, on_delete=models.SET_NULL)
     author = models.ForeignKey(User, null=True, on_delete=models.PROTECT)
     created = models.DateTimeField(auto_now_add=True, null=True)
     comments = GenericRelation(
@@ -574,7 +574,7 @@
         displayed in annotation pages
     """
     annotation = models.OneToOneField(
-        'Annotation', related_name='stats', blank=False, null=False, on_delete=models.PROTECT)
+        'Annotation', related_name='stats', blank=False, null=False, on_delete=models.CASCADE)
     submitted_revisions_count = models.IntegerField(
         blank=True, null=True, default=1)
     awaiting_revisions_count = models.IntegerField(
@@ -718,11 +718,11 @@
 
     revision_guid = models.UUIDField(default=uuid.uuid4)
     annotation = models.ForeignKey(
-        'Annotation', related_name='revisions', null=False, blank=False, on_delete=models.PROTECT)
+        'Annotation', related_name='revisions', null=False, blank=False, on_delete=models.CASCADE)
     parent_revision = models.ForeignKey(
-        'AnnotationRevision', related_name='child_revisions', blank=True, null=True, on_delete=models.PROTECT)
+        'AnnotationRevision', related_name='child_revisions', blank=True, null=True, on_delete=models.SET_NULL)
     merge_parent_revision = models.ForeignKey(
-        'AnnotationRevision', related_name='child_revisions_merge', blank=True, null=True, on_delete=models.PROTECT)
+        'AnnotationRevision', related_name='child_revisions_merge', blank=True, null=True, on_delete=models.SET_NULL)
     author = models.ForeignKey(User, null=True, on_delete=models.PROTECT)
     title = models.CharField(max_length=255)
     description = models.TextField(null=True)