From b43c5270c9cca57f5a6441c79edc085a66f17045 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Stefan=20K=C3=B6gl?= Date: Mon, 24 Jul 2017 20:54:39 +0200 Subject: [PATCH] Require on_delete arg for ForeignKey/OneToOneField Will be required in Django 2.0 https://docs.djangoproject.com/en/dev/releases/1.9/#foreignkey-and-onetoonefield-on-delete-argument --- mygpo/categories/migrations/0001_initial_merged.py | 18 +++++++++++---- mygpo/chapters/migrations/0001_initial.py | 10 +++++++-- mygpo/directory/migrations/0001_initial.py | 5 ++++- mygpo/directory/models.py | 2 +- mygpo/episodestates/migrations/0001_initial.py | 10 +++++++-- mygpo/favorites/migrations/0001_initial.py | 5 ++++- mygpo/history/migrations/0001_initial.py | 15 ++++++++++--- mygpo/history/migrations/0003_historyentry.py | 6 ++++- .../migrations/0004_historyentry_episode.py | 6 ++++- .../history/migrations/0005_episodehistoryentry.py | 17 +++++++++++--- mygpo/history/migrations/0009_blank_fields.py | 7 +++++- mygpo/podcastlists/migrations/0001_initial.py | 11 ++++++--- mygpo/podcastlists/models.py | 2 +- mygpo/podcasts/migrations/0001_initial.py | 26 +++++++++++++++++----- .../podcasts/migrations/0023_auto_20140729_1711.py | 6 ++++- mygpo/publisher/migrations/0001_initial.py | 10 +++++++-- mygpo/subscriptions/migrations/0001_initial.py | 15 ++++++++++--- mygpo/suggestions/migrations/0001_initial.py | 5 ++++- mygpo/users/migrations/0001_initial.py | 5 ++++- mygpo/users/migrations/0002_auto_20140718_1457.py | 5 ++++- mygpo/users/migrations/0004_auto_20140718_1655.py | 11 +++++++-- .../users/migrations/0010_user_profile_related.py | 6 ++++- mygpo/usersettings/migrations/0001_initial.py | 9 ++++++-- mygpo/usersettings/models.py | 7 +++++- mygpo/votes/migrations/0001_initial.py | 5 ++++- 25 files changed, 178 insertions(+), 46 deletions(-) diff --git a/mygpo/categories/migrations/0001_initial_merged.py b/mygpo/categories/migrations/0001_initial_merged.py index a099ea8e..d844028b 100644 --- a/mygpo/categories/migrations/0001_initial_merged.py +++ b/mygpo/categories/migrations/0001_initial_merged.py @@ -46,8 +46,14 @@ class Migration(migrations.Migration): ('modified', models.DateTimeField( auto_now=True, db_index=True)), - ('category', models.ForeignKey(to='categories.Category')), - ('podcast', models.ForeignKey(to='podcasts.Podcast')), + ('category', models.ForeignKey( + to='categories.Category', + on_delete=models.CASCADE, + )), + ('podcast', models.ForeignKey( + to='podcasts.Podcast', + on_delete=models.CASCADE, + )), ], options={ }, @@ -64,7 +70,9 @@ class Migration(migrations.Migration): ('tag', models.SlugField(unique=True)), ('category', models.ForeignKey( related_name='tags', - to='categories.Category')), + to='categories.Category', + on_delete=models.CASCADE, + )), ], options={ }, @@ -102,7 +110,9 @@ class Migration(migrations.Migration): name='category', field=models.ForeignKey( related_name='entries', - to='categories.Category'), + to='categories.Category', + on_delete=models.CASCADE, + ), ), migrations.AlterField( model_name='categoryentry', diff --git a/mygpo/chapters/migrations/0001_initial.py b/mygpo/chapters/migrations/0001_initial.py index dd44cf87..4636bc34 100644 --- a/mygpo/chapters/migrations/0001_initial.py +++ b/mygpo/chapters/migrations/0001_initial.py @@ -23,8 +23,14 @@ class Migration(migrations.Migration): ('end', models.IntegerField()), ('label', models.CharField(max_length=100)), ('advertisement', models.BooleanField(default=False)), - ('episode', models.ForeignKey(to='podcasts.Episode')), - ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)), + ('episode', models.ForeignKey( + to='podcasts.Episode', + on_delete=models.CASCADE, + )), + ('user', models.ForeignKey( + to=settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + )), ], options={ 'abstract': False, diff --git a/mygpo/directory/migrations/0001_initial.py b/mygpo/directory/migrations/0001_initial.py index e25a21de..8269ac86 100644 --- a/mygpo/directory/migrations/0001_initial.py +++ b/mygpo/directory/migrations/0001_initial.py @@ -18,7 +18,10 @@ class Migration(migrations.Migration): ('created', models.DateTimeField(auto_now_add=True)), ('modified', models.DateTimeField(auto_now=True)), ('order', models.PositiveSmallIntegerField()), - ('podcast', models.ForeignKey(to='podcasts.Podcast')), + ('podcast', models.ForeignKey( + to='podcasts.Podcast', + on_delete=models.CASCADE, + )), ], options={ 'ordering': ['order'], diff --git a/mygpo/directory/models.py b/mygpo/directory/models.py index d59214e1..25451989 100644 --- a/mygpo/directory/models.py +++ b/mygpo/directory/models.py @@ -18,7 +18,7 @@ class ExamplePodcastsManager(models.Manager): class ExamplePodcast(UpdateInfoModel, OrderedModel): """ Example podcasts returned by the API """ - podcast = models.ForeignKey(Podcast) + podcast = models.ForeignKey(Podcast, on_delete=models.CASCADE) objects = ExamplePodcastsManager() diff --git a/mygpo/episodestates/migrations/0001_initial.py b/mygpo/episodestates/migrations/0001_initial.py index a1d67546..e4b9d3c0 100644 --- a/mygpo/episodestates/migrations/0001_initial.py +++ b/mygpo/episodestates/migrations/0001_initial.py @@ -19,8 +19,14 @@ class Migration(migrations.Migration): ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('action', models.CharField(max_length=8, choices=[('download', 'downloaded'), ('play', 'played'), ('delete', 'deleted'), ('new', 'marked as new'), ('flattr', "flattr'd")])), ('timestamp', models.DateTimeField()), - ('episode', models.ForeignKey(to='podcasts.Episode')), - ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)), + ('episode', models.ForeignKey( + to='podcasts.Episode', + on_delete=models.CASCADE, + )), + ('user', models.ForeignKey( + to=settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + )), ], options={ }, diff --git a/mygpo/favorites/migrations/0001_initial.py b/mygpo/favorites/migrations/0001_initial.py index 09c706dc..3553b011 100644 --- a/mygpo/favorites/migrations/0001_initial.py +++ b/mygpo/favorites/migrations/0001_initial.py @@ -21,7 +21,10 @@ class Migration(migrations.Migration): ('created', models.DateTimeField(auto_now_add=True)), ('modified', models.DateTimeField(auto_now=True)), ('episode', models.ForeignKey(to='podcasts.Episode', on_delete=django.db.models.deletion.PROTECT)), - ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)), + ('user', models.ForeignKey( + to=settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + )), ], options={ 'abstract': False, diff --git a/mygpo/history/migrations/0001_initial.py b/mygpo/history/migrations/0001_initial.py index 3ca3bf84..daa362c0 100644 --- a/mygpo/history/migrations/0001_initial.py +++ b/mygpo/history/migrations/0001_initial.py @@ -20,9 +20,18 @@ class Migration(migrations.Migration): ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('timestamp', models.DateTimeField()), ('action', models.CharField(max_length=11, choices=[('subscribe', 'subscribed'), ('unsubscribe', 'unsubscribed')])), - ('client', models.ForeignKey(to='users.Client')), - ('podcast', models.ForeignKey(to='podcasts.Podcast')), - ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)), + ('client', models.ForeignKey( + to='users.Client', + on_delete=models.CASCADE, + )), + ('podcast', models.ForeignKey( + to='podcasts.Podcast', + on_delete=models.CASCADE, + )), + ('user', models.ForeignKey( + to=settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + )), ], options={ 'ordering': ['timestamp'], diff --git a/mygpo/history/migrations/0003_historyentry.py b/mygpo/history/migrations/0003_historyentry.py index da1f08be..891418c1 100644 --- a/mygpo/history/migrations/0003_historyentry.py +++ b/mygpo/history/migrations/0003_historyentry.py @@ -23,6 +23,10 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='historyentry', name='client', - field=models.ForeignKey(to='users.Client', null=True), + field=models.ForeignKey( + to='users.Client', + null=True, + on_delete=models.CASCADE, + ), ), ] diff --git a/mygpo/history/migrations/0004_historyentry_episode.py b/mygpo/history/migrations/0004_historyentry_episode.py index d8bf2726..03acb0d7 100644 --- a/mygpo/history/migrations/0004_historyentry_episode.py +++ b/mygpo/history/migrations/0004_historyentry_episode.py @@ -14,7 +14,11 @@ class Migration(migrations.Migration): migrations.AddField( model_name='historyentry', name='episode', - field=models.ForeignKey(to='podcasts.Episode', null=True), + field=models.ForeignKey( + to='podcasts.Episode', + null=True, + on_delete=models.CASCADE, + ), preserve_default=True, ), ] diff --git a/mygpo/history/migrations/0005_episodehistoryentry.py b/mygpo/history/migrations/0005_episodehistoryentry.py index 0d06d9e9..57a44b08 100644 --- a/mygpo/history/migrations/0005_episodehistoryentry.py +++ b/mygpo/history/migrations/0005_episodehistoryentry.py @@ -27,9 +27,20 @@ class Migration(migrations.Migration): ('started', models.IntegerField(null=True)), ('stopped', models.IntegerField(null=True)), ('total', models.IntegerField(null=True)), - ('client', models.ForeignKey(to='users.Client', null=True)), - ('episode', models.ForeignKey(to='podcasts.Episode', null=True)), - ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)), + ('client', models.ForeignKey( + to='users.Client', + null=True, + on_delete=models.CASCADE, + )), + ('episode', models.ForeignKey( + to='podcasts.Episode', + null=True, + on_delete=models.CASCADE, + )), + ('user', models.ForeignKey( + to=settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + )), ], options={ 'ordering': ['-timestamp'], diff --git a/mygpo/history/migrations/0009_blank_fields.py b/mygpo/history/migrations/0009_blank_fields.py index dd54d5fd..62f772ba 100644 --- a/mygpo/history/migrations/0009_blank_fields.py +++ b/mygpo/history/migrations/0009_blank_fields.py @@ -14,7 +14,12 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='episodehistoryentry', name='client', - field=models.ForeignKey(blank=True, to='users.Client', null=True), + field=models.ForeignKey( + blank=True, + to='users.Client', + null=True, + on_delete=models.CASCADE, + ), preserve_default=True, ), migrations.AlterField( diff --git a/mygpo/podcastlists/migrations/0001_initial.py b/mygpo/podcastlists/migrations/0001_initial.py index 5a334494..52d0fe88 100644 --- a/mygpo/podcastlists/migrations/0001_initial.py +++ b/mygpo/podcastlists/migrations/0001_initial.py @@ -25,7 +25,10 @@ class Migration(migrations.Migration): ('slug', models.SlugField(max_length=128)), ('created', models.DateTimeField()), ('modified', models.DateTimeField()), - ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)), + ('user', models.ForeignKey( + to=settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + )), ], options={ }, @@ -45,10 +48,12 @@ class Migration(migrations.Migration): ('object_id', models.UUIDField(max_length=32)), ('content_type', models.ForeignKey( to='contenttypes.ContentType', - on_delete=django.db.models.deletion.PROTECT)), + on_delete=django.db.models.deletion.CASCADE)), ('podcastlist', models.ForeignKey( related_name='entries', - to='podcastlists.PodcastList')), + to='podcastlists.PodcastList', + on_delete=models.CASCADE, + )), ], options={ }, diff --git a/mygpo/podcastlists/models.py b/mygpo/podcastlists/models.py index b1ceb4e0..674a3ce8 100644 --- a/mygpo/podcastlists/models.py +++ b/mygpo/podcastlists/models.py @@ -78,7 +78,7 @@ class PodcastListEntry(UpdateInfoModel, OrderedModel): ) # the object (Podcast or PodcastGroup) that is in the list - content_type = models.ForeignKey(ContentType, on_delete=models.PROTECT) + content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE) object_id = models.UUIDField() content_object = GenericForeignKey('content_type', 'object_id') diff --git a/mygpo/podcasts/migrations/0001_initial.py b/mygpo/podcasts/migrations/0001_initial.py index 3719d98e..0baa9d43 100644 --- a/mygpo/podcasts/migrations/0001_initial.py +++ b/mygpo/podcasts/migrations/0001_initial.py @@ -37,7 +37,9 @@ class Migration(migrations.Migration): ('uuid', models.UUIDField(unique=True, max_length=32)), ('content_type', models.ForeignKey( to='contenttypes.ContentType', - to_field='id')), + to_field='id', + on_delete=models.PROTECT, + )), ('object_id', models.UUIDField(max_length=32)), ], options={ @@ -57,7 +59,9 @@ class Migration(migrations.Migration): ('slug', models.SlugField()), ('content_type', models.ForeignKey( to='contenttypes.ContentType', - to_field='id')), + to_field='id', + on_delete=models.PROTECT, + )), ('object_id', models.UUIDField(max_length=32)), ], options={ @@ -81,7 +85,9 @@ class Migration(migrations.Migration): choices=[(1, 'Feed'), (2, 'delicious'), (4, 'User')])), ('content_type', models.ForeignKey( to='contenttypes.ContentType', - to_field='id')), + to_field='id', + on_delete=models.PROTECT, + )), ('object_id', models.UUIDField(max_length=32)), ], options={ @@ -104,7 +110,9 @@ class Migration(migrations.Migration): ('url', models.URLField(max_length=1000)), ('content_type', models.ForeignKey( to='contenttypes.ContentType', - to_field='id')), + to_field='id', + on_delete=models.PROTECT, + )), ('object_id', models.UUIDField(max_length=32)), ], options={ @@ -142,7 +150,9 @@ class Migration(migrations.Migration): ('group', models.ForeignKey( to='podcasts.PodcastGroup', to_field='id', - null=True)), + null=True, + on_delete=models.PROTECT, + )), ('group_member_name', models.CharField( max_length=30, null=True)), @@ -190,7 +200,11 @@ class Migration(migrations.Migration): ('filesize', models.PositiveIntegerField(null=True)), ('mimetypes', models.CharField(max_length=50)), ('listeners', models.PositiveIntegerField(null=True)), - ('podcast', models.ForeignKey(to='podcasts.Podcast', to_field='id')), + ('podcast', models.ForeignKey( + to='podcasts.Podcast', + to_field='id', + on_delete=models.PROTECT, + )), ], options={ 'abstract': False, diff --git a/mygpo/podcasts/migrations/0023_auto_20140729_1711.py b/mygpo/podcasts/migrations/0023_auto_20140729_1711.py index a03ed54c..4e62d91f 100644 --- a/mygpo/podcasts/migrations/0023_auto_20140729_1711.py +++ b/mygpo/podcasts/migrations/0023_auto_20140729_1711.py @@ -16,7 +16,11 @@ class Migration(migrations.Migration): migrations.AddField( model_name='tag', name='user', - field=models.ForeignKey(to=settings.AUTH_USER_MODEL, null=True), + field=models.ForeignKey( + to=settings.AUTH_USER_MODEL, + null=True, + on_delete=models.CASCADE, + ), preserve_default=True, ), migrations.AlterField( diff --git a/mygpo/publisher/migrations/0001_initial.py b/mygpo/publisher/migrations/0001_initial.py index 313240ae..1c3995b3 100644 --- a/mygpo/publisher/migrations/0001_initial.py +++ b/mygpo/publisher/migrations/0001_initial.py @@ -17,8 +17,14 @@ class Migration(migrations.Migration): name='PublishedPodcast', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('podcast', models.ForeignKey(to='podcasts.Podcast')), - ('publisher', models.ForeignKey(to=settings.AUTH_USER_MODEL)), + ('podcast', models.ForeignKey( + to='podcasts.Podcast', + on_delete=models.CASCADE, + )), + ('publisher', models.ForeignKey( + to=settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + )), ], options={ }, diff --git a/mygpo/subscriptions/migrations/0001_initial.py b/mygpo/subscriptions/migrations/0001_initial.py index 18556650..221efa5e 100644 --- a/mygpo/subscriptions/migrations/0001_initial.py +++ b/mygpo/subscriptions/migrations/0001_initial.py @@ -23,7 +23,10 @@ class Migration(migrations.Migration): ('created', models.DateTimeField(auto_now_add=True)), ('modified', models.DateTimeField(auto_now=True)), ('podcast', models.ForeignKey(to='podcasts.Podcast', on_delete=django.db.models.deletion.PROTECT)), - ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)), + ('user', models.ForeignKey( + to=settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + )), ], options={ 'abstract': False, @@ -38,9 +41,15 @@ class Migration(migrations.Migration): ('ref_url', models.URLField(max_length=2048)), ('created', models.DateTimeField()), ('modified', models.DateTimeField()), - ('client', models.ForeignKey(to='users.Client')), + ('client', models.ForeignKey( + to='users.Client', + on_delete=models.CASCADE, + )), ('podcast', models.ForeignKey(to='podcasts.Podcast', on_delete=django.db.models.deletion.PROTECT)), - ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)), + ('user', models.ForeignKey( + to=settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + )), ], options={ }, diff --git a/mygpo/suggestions/migrations/0001_initial.py b/mygpo/suggestions/migrations/0001_initial.py index 8e47bc37..cd25a2cf 100644 --- a/mygpo/suggestions/migrations/0001_initial.py +++ b/mygpo/suggestions/migrations/0001_initial.py @@ -22,7 +22,10 @@ class Migration(migrations.Migration): ('modified', models.DateTimeField(auto_now=True)), ('deleted', models.BooleanField(default=False)), ('podcast', models.ForeignKey(to='podcasts.Podcast', on_delete=django.db.models.deletion.PROTECT)), - ('suggested_to', models.ForeignKey(to=settings.AUTH_USER_MODEL)), + ('suggested_to', models.ForeignKey( + to=settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + )), ], options={ }, diff --git a/mygpo/users/migrations/0001_initial.py b/mygpo/users/migrations/0001_initial.py index 83b964ff..f71818ed 100644 --- a/mygpo/users/migrations/0001_initial.py +++ b/mygpo/users/migrations/0001_initial.py @@ -34,7 +34,10 @@ class Migration(migrations.Migration): max_length=32, null=True)), ('userpage_token', models.CharField(max_length=32, null=True)), - ('user', models.OneToOneField(to=settings.AUTH_USER_MODEL)), + ('user', models.OneToOneField( + to=settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + )), ('uuid', models.UUIDField(unique=True, max_length=32)), ], options={ diff --git a/mygpo/users/migrations/0002_auto_20140718_1457.py b/mygpo/users/migrations/0002_auto_20140718_1457.py index 454afc3e..4b61756d 100644 --- a/mygpo/users/migrations/0002_auto_20140718_1457.py +++ b/mygpo/users/migrations/0002_auto_20140718_1457.py @@ -36,7 +36,10 @@ class Migration(migrations.Migration): ('other', 'Other')])), ('deleted', models.BooleanField(default=False)), ('user_agent', models.CharField(max_length=300)), - ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)), + ('user', models.ForeignKey( + to=settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + )), ], options={ }, diff --git a/mygpo/users/migrations/0004_auto_20140718_1655.py b/mygpo/users/migrations/0004_auto_20140718_1655.py index 01e4f8a2..ee56b58d 100644 --- a/mygpo/users/migrations/0004_auto_20140718_1655.py +++ b/mygpo/users/migrations/0004_auto_20140718_1655.py @@ -17,7 +17,10 @@ class Migration(migrations.Migration): name='SyncGroup', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)), + ('user', models.ForeignKey( + to=settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + )), ], options={ }, @@ -26,7 +29,11 @@ class Migration(migrations.Migration): migrations.AddField( model_name='client', name='sync_group', - field=models.ForeignKey(to='users.SyncGroup', null=True), + field=models.ForeignKey( + to='users.SyncGroup', + null=True, + on_delete=models.CASCADE, + ), preserve_default=True, ), migrations.AddField( diff --git a/mygpo/users/migrations/0010_user_profile_related.py b/mygpo/users/migrations/0010_user_profile_related.py index 9a585180..b65c3dcd 100644 --- a/mygpo/users/migrations/0010_user_profile_related.py +++ b/mygpo/users/migrations/0010_user_profile_related.py @@ -15,6 +15,10 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='userprofile', name='user', - field=models.OneToOneField(related_name='profile', to=settings.AUTH_USER_MODEL), + field=models.OneToOneField( + related_name='profile', + to=settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + ), ), ] diff --git a/mygpo/usersettings/migrations/0001_initial.py b/mygpo/usersettings/migrations/0001_initial.py index 0eaf67bf..60a1d1d4 100644 --- a/mygpo/usersettings/migrations/0001_initial.py +++ b/mygpo/usersettings/migrations/0001_initial.py @@ -29,8 +29,13 @@ class Migration(migrations.Migration): ('content_type', models.ForeignKey( blank=True, to='contenttypes.ContentType', - null=True)), - ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)), + null=True, + on_delete=models.PROTECT, + )), + ('user', models.ForeignKey( + to=settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + )), ], options={ }, diff --git a/mygpo/usersettings/models.py b/mygpo/usersettings/models.py index a020bb7d..291d3e2d 100644 --- a/mygpo/usersettings/models.py +++ b/mygpo/usersettings/models.py @@ -65,7 +65,12 @@ class UserSettings(models.Model): on_delete=models.CASCADE) # see https://docs.djangoproject.com/en/1.6/ref/contrib/contenttypes/#generic-relations - content_type = models.ForeignKey(ContentType, null=True, blank=True) + content_type = models.ForeignKey( + ContentType, + null=True, + blank=True, + on_delete=models.PROTECT, + ) object_id = models.UUIDField(null=True, blank=True) content_object = GenericForeignKey('content_type', 'object_id') diff --git a/mygpo/votes/migrations/0001_initial.py b/mygpo/votes/migrations/0001_initial.py index 42b1b070..2fb3c6b7 100644 --- a/mygpo/votes/migrations/0001_initial.py +++ b/mygpo/votes/migrations/0001_initial.py @@ -28,7 +28,10 @@ class Migration(migrations.Migration): ('content_type', models.ForeignKey( to='contenttypes.ContentType', on_delete=django.db.models.deletion.PROTECT)), - ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)), + ('user', models.ForeignKey( + to=settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + )), ], options={ }, -- 2.11.4.GIT