From 6e9ea589bb07835d9bdb6d55cc75d045c72e6eb9 Mon Sep 17 00:00:00 2001 From: Robin van Dijk Date: Tue, 3 Dec 2019 10:33:50 +0100 Subject: [PATCH] made PageUser non cascading A PageUser gets created for every user that is created, with a created_by to the original user. On deleting the original user all PageUsers would be deleted by cascade. And thus also the user connected to there PageUsers as well. This sets created_by to on_delete=models.SET_NULL stopping this problem --- cms/migrations/0023_auto_20191203_1029.py | 20 ++++++++++++++++++++ cms/models/permissionmodels.py | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 cms/migrations/0023_auto_20191203_1029.py diff --git a/cms/migrations/0023_auto_20191203_1029.py b/cms/migrations/0023_auto_20191203_1029.py new file mode 100644 index 00000000000..f4806c84bf1 --- /dev/null +++ b/cms/migrations/0023_auto_20191203_1029.py @@ -0,0 +1,20 @@ +# Generated by Django 2.2.6 on 2019-12-03 09:29 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('cms', '0022_auto_20180620_1551'), + ] + + operations = [ + migrations.AlterField( + model_name='pageuser', + name='created_by', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='created_users', to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/cms/models/permissionmodels.py b/cms/models/permissionmodels.py index 95d220079fd..11503b84fdf 100644 --- a/cms/models/permissionmodels.py +++ b/cms/models/permissionmodels.py @@ -262,7 +262,7 @@ class PageUserManager(UserManager): class PageUser(User): """Cms specific user data, required for permission system """ - created_by = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name="created_users") + created_by = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, on_delete=models.SET_NULL, related_name="created_users") objects = PageUserManager()