diff --git a/commentaries/migrations/0001_initial.py b/commentaries/migrations/0001_initial.py
index 51c59ffdaeb869693ac2371c804eb63bbd767bd1..1d6e17817bc0840e75fcebdf90ed91b8794a15a4 100644
--- a/commentaries/migrations/0001_initial.py
+++ b/commentaries/migrations/0001_initial.py
@@ -1,12 +1,16 @@
 # -*- coding: utf-8 -*-
+# Generated by Django 1.9.1 on 2016-01-19 00:56
 from __future__ import unicode_literals
 
 from django.db import migrations, models
+import django.db.models.deletion
 import django.utils.timezone
 
 
 class Migration(migrations.Migration):
 
+    initial = True
+
     dependencies = [
         ('scipost', '0001_initial'),
     ]
@@ -17,28 +21,28 @@ class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('vetted', models.BooleanField(default=False)),
-                ('type', models.CharField(max_length=9)),
+                ('type', models.CharField(choices=[('published', 'published paper'), ('preprint', 'arXiv preprint (at least 8 weeks old)')], max_length=9)),
                 ('open_for_commenting', models.BooleanField(default=True)),
-                ('pub_title', models.CharField(max_length=300)),
-                ('arxiv_link', models.URLField(verbose_name='arXiv link (including version nr)')),
-                ('pub_DOI_link', models.URLField(verbose_name='DOI link to the original publication')),
+                ('pub_title', models.CharField(max_length=300, verbose_name='title')),
+                ('arxiv_link', models.URLField(blank=True, verbose_name='arXiv link (including version nr)')),
+                ('pub_DOI_link', models.URLField(blank=True, verbose_name='DOI link to the original publication')),
                 ('author_list', models.CharField(max_length=1000)),
                 ('pub_date', models.DateField(verbose_name='date of original publication')),
-                ('pub_abstract', models.TextField()),
+                ('pub_abstract', models.TextField(verbose_name='abstract')),
                 ('nr_clarity_ratings', models.IntegerField(default=0)),
-                ('clarity_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('clarity_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('nr_validity_ratings', models.IntegerField(default=0)),
-                ('validity_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('validity_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('nr_rigour_ratings', models.IntegerField(default=0)),
-                ('rigour_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('rigour_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('nr_originality_ratings', models.IntegerField(default=0)),
-                ('originality_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('originality_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('nr_significance_ratings', models.IntegerField(default=0)),
-                ('significance_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('significance_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('latest_activity', models.DateTimeField(default=django.utils.timezone.now)),
                 ('authors', models.ManyToManyField(blank=True, related_name='authors_com', to='scipost.Contributor')),
-                ('requested_by', models.ForeignKey(blank=True, to='scipost.Contributor', related_name='requested_by', null=True)),
-                ('vetted_by', models.ForeignKey(blank=True, to='scipost.Contributor', null=True)),
+                ('requested_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='requested_by', to='scipost.Contributor')),
+                ('vetted_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='scipost.Contributor')),
             ],
         ),
     ]
diff --git a/comments/migrations/0001_initial.py b/comments/migrations/0001_initial.py
index 8404853e566ba7c82bedeb3cd99557ee13b6e7cf..25c199c575c876d2ada92c3b0ce6522f73d582a7 100644
--- a/comments/migrations/0001_initial.py
+++ b/comments/migrations/0001_initial.py
@@ -1,14 +1,18 @@
 # -*- coding: utf-8 -*-
+# Generated by Django 1.9.1 on 2016-01-19 00:56
 from __future__ import unicode_literals
 
 from django.db import migrations, models
+import django.db.models.deletion
 
 
 class Migration(migrations.Migration):
 
+    initial = True
+
     dependencies = [
-        ('submissions', '0001_initial'),
         ('commentaries', '0001_initial'),
+        ('submissions', '0001_initial'),
         ('scipost', '0001_initial'),
     ]
 
@@ -18,20 +22,20 @@ class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('status', models.SmallIntegerField(default=0)),
-                ('reply_text', models.TextField()),
+                ('reply_text', models.TextField(verbose_name='')),
                 ('date_submitted', models.DateTimeField(verbose_name='date submitted')),
                 ('nr_relevance_ratings', models.IntegerField(default=0)),
-                ('relevance_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('relevance_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('nr_importance_ratings', models.IntegerField(default=0)),
-                ('importance_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('importance_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('nr_clarity_ratings', models.IntegerField(default=0)),
-                ('clarity_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('clarity_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('nr_validity_ratings', models.IntegerField(default=0)),
-                ('validity_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('validity_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('nr_rigour_ratings', models.IntegerField(default=0)),
-                ('rigour_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
-                ('author', models.ForeignKey(to='scipost.Contributor')),
-                ('commentary', models.ForeignKey(blank=True, to='commentaries.Commentary', null=True)),
+                ('rigour_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
+                ('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='scipost.Contributor')),
+                ('commentary', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='commentaries.Commentary')),
             ],
         ),
         migrations.CreateModel(
@@ -50,34 +54,34 @@ class Migration(migrations.Migration):
                 ('comment_text', models.TextField()),
                 ('date_submitted', models.DateTimeField(verbose_name='date submitted')),
                 ('nr_relevance_ratings', models.IntegerField(default=0)),
-                ('relevance_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('relevance_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('nr_importance_ratings', models.IntegerField(default=0)),
-                ('importance_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('importance_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('nr_clarity_ratings', models.IntegerField(default=0)),
-                ('clarity_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('clarity_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('nr_validity_ratings', models.IntegerField(default=0)),
-                ('validity_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('validity_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('nr_rigour_ratings', models.IntegerField(default=0)),
-                ('rigour_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
-                ('author', models.ForeignKey(to='scipost.Contributor')),
-                ('commentary', models.ForeignKey(blank=True, to='commentaries.Commentary', null=True)),
-                ('in_reply_to', models.ForeignKey(blank=True, to='comments.Comment', null=True)),
-                ('submission', models.ForeignKey(blank=True, to='submissions.Submission', null=True)),
+                ('rigour_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
+                ('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='scipost.Contributor')),
+                ('commentary', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='commentaries.Commentary')),
+                ('in_reply_to', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='comments.Comment')),
+                ('submission', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='submissions.Submission')),
             ],
         ),
         migrations.AddField(
             model_name='authorreply',
             name='in_reply_to_comment',
-            field=models.ForeignKey(blank=True, to='comments.Comment', null=True),
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='comments.Comment'),
         ),
         migrations.AddField(
             model_name='authorreply',
             name='in_reply_to_report',
-            field=models.ForeignKey(blank=True, to='submissions.Report', null=True),
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='submissions.Report'),
         ),
         migrations.AddField(
             model_name='authorreply',
             name='submission',
-            field=models.ForeignKey(blank=True, to='submissions.Submission', null=True),
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='submissions.Submission'),
         ),
     ]
diff --git a/ratings/migrations/0001_initial.py b/ratings/migrations/0001_initial.py
index efcd95e5cf18dae994c7ff6836f95a38c698cbbe..ef6dece0be950ddd4ab62995b918a2f910a61728 100644
--- a/ratings/migrations/0001_initial.py
+++ b/ratings/migrations/0001_initial.py
@@ -1,16 +1,20 @@
 # -*- coding: utf-8 -*-
+# Generated by Django 1.9.1 on 2016-01-19 00:56
 from __future__ import unicode_literals
 
 from django.db import migrations, models
+import django.db.models.deletion
 
 
 class Migration(migrations.Migration):
 
+    initial = True
+
     dependencies = [
-        ('submissions', '0001_initial'),
+        ('scipost', '0001_initial'),
         ('commentaries', '0001_initial'),
+        ('submissions', '0001_initial'),
         ('comments', '0001_initial'),
-        ('scipost', '0001_initial'),
     ]
 
     operations = [
@@ -18,13 +22,13 @@ class Migration(migrations.Migration):
             name='AuthorReplyRating',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('relevance', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('importance', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('clarity', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('validity', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('rigour', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('authorreply', models.ForeignKey(to='comments.AuthorReply')),
-                ('rater', models.ForeignKey(to='scipost.Contributor')),
+                ('relevance', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('importance', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('clarity', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('validity', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('rigour', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('authorreply', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='comments.AuthorReply')),
+                ('rater', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='scipost.Contributor')),
             ],
             options={
                 'abstract': False,
@@ -34,13 +38,13 @@ class Migration(migrations.Migration):
             name='CommentaryRating',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('clarity', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('validity', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('rigour', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('originality', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('significance', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('commentary', models.ForeignKey(to='commentaries.Commentary')),
-                ('rater', models.ForeignKey(to='scipost.Contributor')),
+                ('clarity', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('validity', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('rigour', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('originality', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('significance', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('commentary', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='commentaries.Commentary')),
+                ('rater', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='scipost.Contributor')),
             ],
             options={
                 'abstract': False,
@@ -50,13 +54,13 @@ class Migration(migrations.Migration):
             name='CommentRating',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('relevance', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('importance', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('clarity', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('validity', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('rigour', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('comment', models.ForeignKey(to='comments.Comment')),
-                ('rater', models.ForeignKey(to='scipost.Contributor')),
+                ('relevance', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('importance', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('clarity', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('validity', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('rigour', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('comment', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='comments.Comment')),
+                ('rater', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='scipost.Contributor')),
             ],
             options={
                 'abstract': False,
@@ -66,13 +70,13 @@ class Migration(migrations.Migration):
             name='ReportRating',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('relevance', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('importance', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('clarity', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('validity', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('rigour', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('rater', models.ForeignKey(to='scipost.Contributor')),
-                ('report', models.ForeignKey(to='submissions.Report')),
+                ('relevance', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('importance', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('clarity', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('validity', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('rigour', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('rater', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='scipost.Contributor')),
+                ('report', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='submissions.Report')),
             ],
             options={
                 'abstract': False,
@@ -82,13 +86,13 @@ class Migration(migrations.Migration):
             name='SubmissionRating',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('clarity', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('validity', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('rigour', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('originality', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('significance', models.PositiveSmallIntegerField(default=0, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')), null=True)),
-                ('rater', models.ForeignKey(to='scipost.Contributor')),
-                ('submission', models.ForeignKey(to='submissions.Submission')),
+                ('clarity', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('validity', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('rigour', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('originality', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('significance', models.PositiveSmallIntegerField(default=0, null=True, verbose_name=((101, '-'), (100, '100%'), (90, '90%'), (80, '80%'), (70, '70%'), (60, '60%'), (50, '50%'), (40, '40%'), (30, '30%'), (20, '20%'), (10, '10%'), (0, '0%')))),
+                ('rater', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='scipost.Contributor')),
+                ('submission', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='submissions.Submission')),
             ],
             options={
                 'abstract': False,
diff --git a/scipost/forms.py b/scipost/forms.py
index cabc5e68785c50c9e357e7ac7038996071279acf..781f0ee1aab842619f64644a7fa975ff15de773a 100644
--- a/scipost/forms.py
+++ b/scipost/forms.py
@@ -20,16 +20,16 @@ class RegistrationForm(forms.Form):
     title = forms.ChoiceField(choices=TITLE_CHOICES, label='* Title')
     first_name = forms.CharField(label='* First name', max_length=100)
     last_name = forms.CharField(label='* Last name', max_length=100)
-    email = forms.EmailField(label='* email address')
+    email = forms.EmailField(label='* Email address')
     orcid_id = forms.CharField(label="  ORCID id", max_length=20, widget=forms.TextInput({'placeholder': 'Recommended. Get one at orcid.org'}), required=False)
-    nationality = LazyTypedChoiceField(choices=countries, label='* Nationality', initial='CA', widget=CountrySelectWidget(layout='{widget}<img class="country-select-flag" id="{flag_id}" style="margin: 6px 4px 0" src="{country.flag}">'))
+    nationality = LazyTypedChoiceField(choices=countries, label='Nationality', initial='CA', required=False, widget=CountrySelectWidget(layout='{widget}<img class="country-select-flag" id="{flag_id}" style="margin: 6px 4px 0" src="{country.flag}">'))
     country_of_employment = LazyTypedChoiceField(choices=countries, label='* Country of employment', initial='NL', widget=CountrySelectWidget(layout='{widget}<img class="country-select-flag" id="{flag_id}" style="margin: 6px 4px 0" src="{country.flag}">'))
     affiliation = forms.CharField(label='* Affiliation', max_length=300)
     address = forms.CharField(label='Address', max_length=1000, widget=forms.TextInput({'placeholder': 'For eventual snail mail correspondence'}), required=False)
     personalwebpage = forms.URLField(label='Personal web page', widget=forms.TextInput({'placeholder': 'full URL, e.g. http://www.[yourpage].com'}), required=False)
-    username = forms.CharField(label='* username', max_length=100)
-    password = forms.CharField(label='* password', widget=forms.PasswordInput())
-    password_verif = forms.CharField(label='* verify pwd', widget=forms.PasswordInput())
+    username = forms.CharField(label='* Username', max_length=100)
+    password = forms.CharField(label='* Password', widget=forms.PasswordInput())
+    password_verif = forms.CharField(label='* Verify pwd', widget=forms.PasswordInput())
     captcha = CaptchaField(label='* Captcha')
 
 #class RegistrationFormUser(forms.ModelForm):
@@ -65,7 +65,7 @@ class UpdatePersonalDataForm(forms.ModelForm):
         #fields = ['title', 'first_name', 'last_name', 'email', 'orcid_id', 'affiliation', 'address', 'personalwebpage']
         #fields = ['title', 'orcid_id', 'affiliation', 'address', 'personalwebpage']
         #fields = ['title', 'orcid_id', 'affiliation', 'personalwebpage']
-        fields = ['title', 'orcid_id', 'nationality', 'country_of_employment', 'affiliation', 'personalwebpage']
+        fields = ['title', 'orcid_id', 'nationality', 'country_of_employment', 'affiliation', 'address', 'personalwebpage']
         widgets = {'nationality': CountrySelectWidget(layout='{widget}<img class="country-select-flag" id="{flag_id}" style="margin: 6px 4px 0" src="{country.flag}">'), 'country_of_employment': CountrySelectWidget()}
 
 class VetRegistrationForm(forms.Form):
@@ -74,8 +74,8 @@ class VetRegistrationForm(forms.Form):
     email_response_field = forms.CharField(widget=forms.Textarea(), label='Justification (optional)', required=False)
 
 class AuthenticationForm(forms.Form):
-    username = forms.CharField(label='username', max_length=100)
-    password = forms.CharField(label='password', widget=forms.PasswordInput())
+    username = forms.CharField(label='Username', max_length=100)
+    password = forms.CharField(label='Password', widget=forms.PasswordInput())
 
 class PasswordChangeForm(forms.Form):
     password_prev = forms.CharField(label='Existing password', widget=forms.PasswordInput())
diff --git a/scipost/models.py b/scipost/models.py
index 9876354cd73ab4d0137f97017163937632244450..e2d9ba3fb3490eced2b16b296669dc1ff72ba026 100644
--- a/scipost/models.py
+++ b/scipost/models.py
@@ -50,12 +50,12 @@ class Contributor(models.Model):
     rank = models.SmallIntegerField(default=0, choices=CONTRIBUTOR_RANKS)
     title = models.CharField(max_length=4, choices=TITLE_CHOICES)
     # username, password, email, first_name and last_name are inherited from User
-    orcid_id = models.CharField(max_length=20, verbose_name="ORCID id")
-    nationality = CountryField()
-    country_of_employment = CountryField()
+    orcid_id = models.CharField(max_length=20, verbose_name="ORCID id", blank=True)
+    nationality = CountryField(default='CA', blank=True)
+    country_of_employment = CountryField(default='NL')
     affiliation = models.CharField(max_length=300, verbose_name='affiliation')
-    address = models.CharField(max_length=1000, verbose_name="address", default='')
-    personalwebpage = models.URLField(verbose_name='personal web page')
+    address = models.CharField(max_length=1000, verbose_name="address", default='', blank=True)
+    personalwebpage = models.URLField(verbose_name='personal web page', blank=True)
     #vetted_by = models.OneToOneField(Contributor, related_name='vetted_by') TO ACTIVATE
 
     # permissions
@@ -115,7 +115,7 @@ class Contributor(models.Model):
         output += '<tr><td>Nationality: </td><td>&nbsp;</td><td>' + str(self.nationality.name) + '</td></tr>'
         output += '<tr><td>Country of employment: </td><td>&nbsp;</td><td>' + str(self.country_of_employment.name) + '</td></tr>'
         output += '<tr><td>Affiliation: </td><td>&nbsp;</td><td>' + self.affiliation + '</td></tr>'
-        #output += '<tr><td>Address: </td><td>&nbsp;</td><td>' + self.address + '</td></tr>'
+        output += '<tr><td>Address: </td><td>&nbsp;</td><td>' + self.address + '</td></tr>'
         output += '<tr><td>Personal web page: </td><td>&nbsp;</td><td>' + self.personalwebpage + '</td></tr>'
         output += '</table>'
         return output
diff --git a/scipost/templates/scipost/activation_ack.html b/scipost/templates/scipost/activation_ack.html
index 9f1049e21e2ef578892ba627418b60cdbedcbbd4..19848e06cba1cccf383a4c0ef0b0e63f0056d0cc 100644
--- a/scipost/templates/scipost/activation_ack.html
+++ b/scipost/templates/scipost/activation_ack.html
@@ -6,7 +6,7 @@
 
 <section>
   <h1>Your email address has been confirmed</h1>
-  <p>Your SciPost account will soon be vetted.</p>
+  <p>Your SciPost account will soon be vetted. You will soon receive an email from us.</p>
 </section>
 
 {% endblock bodysup %}
diff --git a/scipost/templates/scipost/personal_page.html b/scipost/templates/scipost/personal_page.html
index e8998d97aac6cfdc798a43e5b74c6ab48a9dda36..7dc275c8f070459bafa4fcba2b4c04dbbde575f8 100644
--- a/scipost/templates/scipost/personal_page.html
+++ b/scipost/templates/scipost/personal_page.html
@@ -23,8 +23,10 @@
       </ul>
     </div>
   </div>
+<!--
   <h3>Your permissions:</h3>
   {{ contributor.permissions_as_table|safe }}
+-->
 </section>
 
 {% if contributor.rank >= 2 %}
diff --git a/scipost/templates/scipost/thanks_for_registering.html b/scipost/templates/scipost/thanks_for_registering.html
index bb20de3c2415b2ee54304b161880d20393c13daf..619362c8d9c36fffc17b58ed09038e7712bb748b 100644
--- a/scipost/templates/scipost/thanks_for_registering.html
+++ b/scipost/templates/scipost/thanks_for_registering.html
@@ -6,7 +6,8 @@
 
 <section>
 <h1>Thanks for registering to SciPost.</h1>
-<p>Your credentials will soon be verified by an Editor. If accepted, your rank (currently: 'newly registered') will be set to 'normal user', enabling you to submit, comment and vote.</p>
+<p>You will receive an email with a link to verify your email address. Please visit this link within 48 hours.</p>
+<p>Your credentials will thereafter be verified. If your registration is accepted, your rank (currently: 'newly registered') will be set to 'normal user', enabling you to contribute.</p>
 </section>
 
 {% endblock bodysup %}
diff --git a/scipost/views.py b/scipost/views.py
index 0945650af97e5bf2ca826b54480650ac3593d70f..14b6dff54864458cad311ca49b5eafb52e6e6645 100644
--- a/scipost/views.py
+++ b/scipost/views.py
@@ -303,7 +303,7 @@ def update_personal_data(request):
                 request.user.contributor.orcid_id = cont_form.cleaned_data['orcid_id']
                 request.user.contributor.nationality = cont_form.cleaned_data['nationality']
                 request.user.contributor.country_of_employment = cont_form.cleaned_data['country_of_employment']
-                #request.user.contributor.address = cont_form.cleaned_data['address']
+                request.user.contributor.address = cont_form.cleaned_data['address']
                 request.user.contributor.affiliation = cont_form.cleaned_data['affiliation']
                 request.user.contributor.personalwebpage = cont_form.cleaned_data['personalwebpage']
                 request.user.save()
@@ -312,7 +312,7 @@ def update_personal_data(request):
         else:
             user_form = UpdateUserDataForm(instance=contributor.user)
             cont_form = UpdatePersonalDataForm(instance=contributor)
-            return render(request, 'scipost/update_personal_data.html', {'user_form': user_form, 'cont_form': cont_form})
+        return render(request, 'scipost/update_personal_data.html', {'user_form': user_form, 'cont_form': cont_form})
     else:
         form = AuthenticationForm()
         return render(request, 'scipost/login.html', {'form': form})
diff --git a/submissions/migrations/0001_initial.py b/submissions/migrations/0001_initial.py
index 5b3c9b3580f80208ede42ef8892c09546fbdf06b..ee45ddf956ae65c0ae2eef459e8eeb4b14d41a69 100644
--- a/submissions/migrations/0001_initial.py
+++ b/submissions/migrations/0001_initial.py
@@ -1,12 +1,16 @@
 # -*- coding: utf-8 -*-
+# Generated by Django 1.9.1 on 2016-01-19 00:56
 from __future__ import unicode_literals
 
 from django.db import migrations, models
+import django.db.models.deletion
 import django.utils.timezone
 
 
 class Migration(migrations.Migration):
 
+    initial = True
+
     dependencies = [
         ('scipost', '0001_initial'),
     ]
@@ -21,22 +25,22 @@ class Migration(migrations.Migration):
                 ('strengths', models.TextField()),
                 ('weaknesses', models.TextField()),
                 ('report', models.TextField()),
-                ('requested_changes', models.TextField()),
+                ('requested_changes', models.TextField(verbose_name='requested changes')),
                 ('recommendation', models.SmallIntegerField(choices=[(1, 'Publish as Tier I (top 10% of papers in this journal)'), (2, 'Publish as Tier II (top 50% of papers in this journal)'), (3, 'Publish as Tier III (meets the criteria of this journal)'), (-1, 'Ask for minor revision'), (-2, 'Ask for major revision'), (-3, 'Reject')])),
                 ('date_invited', models.DateTimeField(blank=True, null=True, verbose_name='date invited')),
                 ('date_submitted', models.DateTimeField(verbose_name='date submitted')),
                 ('nr_relevance_ratings', models.IntegerField(default=0)),
-                ('relevance_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('relevance_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('nr_importance_ratings', models.IntegerField(default=0)),
-                ('importance_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('importance_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('nr_clarity_ratings', models.IntegerField(default=0)),
-                ('clarity_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('clarity_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('nr_validity_ratings', models.IntegerField(default=0)),
-                ('validity_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('validity_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('nr_rigour_ratings', models.IntegerField(default=0)),
-                ('rigour_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
-                ('author', models.ForeignKey(to='scipost.Contributor')),
-                ('invited_by', models.ForeignKey(blank=True, to='scipost.Contributor', related_name='invited_by', null=True)),
+                ('rigour_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
+                ('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='scipost.Contributor')),
+                ('invited_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='invited_by', to='scipost.Contributor')),
             ],
         ),
         migrations.CreateModel(
@@ -44,36 +48,36 @@ class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('vetted', models.BooleanField(default=False)),
-                ('submitted_to_journal', models.CharField(choices=[('SciPost Physics Select', 'SciPost Physics Select'), ('SciPost Physics Letters', 'SciPost Physics Letters'), ('SciPost Physics X', 'SciPost Physics X (cross-division)'), ('SciPost Physics', 'SciPost Physics (Experimental, Theoretical and Computational)'), ('SciPost Physics Lecture Notes', 'SciPost Physics Lecture Notes')], max_length=30)),
-                ('domain', models.CharField(default='E', choices=[('E', 'Experimental'), ('T', 'Theoretical'), ('C', 'Computational')], max_length=1)),
+                ('submitted_to_journal', models.CharField(choices=[('SciPost Physics Letters', 'SciPost Physics Letters'), ('SciPost Physics', 'SciPost Physics'), ('SciPost Physics Lecture Notes', 'SciPost Physics Lecture Notes')], max_length=30, verbose_name='Journal to be submitted to')),
+                ('domain', models.CharField(choices=[('E', 'Experimental'), ('T', 'Theoretical'), ('C', 'Computational'), ('ET', 'Exp. & Theor.'), ('EC', 'Exp. & Comp.'), ('TC', 'Theor. & Comp.'), ('ETC', 'Exp., Theor. & Comp.')], max_length=3)),
                 ('specialization', models.CharField(choices=[('A', 'Atomic, Molecular and Optical Physics'), ('B', 'Biophysics'), ('C', 'Condensed Matter Physics'), ('F', 'Fluid Dynamics'), ('G', 'Gravitation, Cosmology and Astroparticle Physics'), ('H', 'High-Energy Physics'), ('M', 'Mathematical Physics'), ('N', 'Nuclear Physics'), ('Q', 'Quantum Statistical Mechanics'), ('S', 'Statistical and Soft Matter Physics')], max_length=1)),
                 ('status', models.SmallIntegerField(choices=[(0, 'unassigned'), (1, 'editor in charge assigned'), (2, 'under review'), (3, 'reviewed, peer checking period'), (4, 'reviewed, peer checked, editorial decision pending'), (5, 'editorial decision')])),
                 ('open_for_reporting', models.BooleanField(default=True)),
                 ('open_for_commenting', models.BooleanField(default=True)),
                 ('title', models.CharField(max_length=300)),
-                ('author_list', models.CharField(max_length=1000)),
+                ('author_list', models.CharField(max_length=1000, verbose_name='author list')),
                 ('abstract', models.TextField()),
                 ('arxiv_link', models.URLField(verbose_name='arXiv link (including version nr)')),
                 ('submission_date', models.DateField(verbose_name='date of original publication')),
                 ('nr_clarity_ratings', models.IntegerField(default=0)),
-                ('clarity_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('clarity_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('nr_validity_ratings', models.IntegerField(default=0)),
-                ('validity_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('validity_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('nr_rigour_ratings', models.IntegerField(default=0)),
-                ('rigour_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('rigour_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('nr_originality_ratings', models.IntegerField(default=0)),
-                ('originality_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('originality_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('nr_significance_ratings', models.IntegerField(default=0)),
-                ('significance_rating', models.DecimalField(default=0, max_digits=3, null=True, decimal_places=0)),
+                ('significance_rating', models.DecimalField(decimal_places=0, default=0, max_digits=3, null=True)),
                 ('latest_activity', models.DateTimeField(default=django.utils.timezone.now)),
                 ('authors', models.ManyToManyField(blank=True, related_name='authors_sub', to='scipost.Contributor')),
-                ('editor_in_charge', models.ForeignKey(blank=True, to='scipost.Contributor', related_name='editor_in_charge', null=True)),
-                ('submitted_by', models.ForeignKey(to='scipost.Contributor')),
+                ('editor_in_charge', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='editor_in_charge', to='scipost.Contributor')),
+                ('submitted_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='scipost.Contributor')),
             ],
         ),
         migrations.AddField(
             model_name='report',
             name='submission',
-            field=models.ForeignKey(to='submissions.Submission'),
+            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='submissions.Submission'),
         ),
     ]