From 7cf7afc9011ebab660de4b0afb4160956f7ab2ef Mon Sep 17 00:00:00 2001
From: Ernesto Rico Schmidt <ernesto@helsinki.at>
Date: Wed, 12 Jul 2023 18:59:19 -0400
Subject: [PATCH] fix: add null=True & fix on_delete options on OneToOneFields

---
 ...er_note_timeslot_alter_userprofile_user.py | 32 +++++++++++++++++++
 program/models.py                             |  4 +--
 2 files changed, 34 insertions(+), 2 deletions(-)
 create mode 100644 program/migrations/0063_alter_note_timeslot_alter_userprofile_user.py

diff --git a/program/migrations/0063_alter_note_timeslot_alter_userprofile_user.py b/program/migrations/0063_alter_note_timeslot_alter_userprofile_user.py
new file mode 100644
index 00000000..0f2249e5
--- /dev/null
+++ b/program/migrations/0063_alter_note_timeslot_alter_userprofile_user.py
@@ -0,0 +1,32 @@
+# Generated by Django 4.2.2 on 2023-07-12 22:56
+
+import django.db.models.deletion
+from django.conf import settings
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+    dependencies = [
+        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+        ("program", "0062_alter_image_height_alter_image_width_and_more"),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name="note",
+            name="timeslot",
+            field=models.OneToOneField(
+                null=True, on_delete=django.db.models.deletion.SET_NULL, to="program.timeslot"
+            ),
+        ),
+        migrations.AlterField(
+            model_name="userprofile",
+            name="user",
+            field=models.OneToOneField(
+                null=True,
+                on_delete=django.db.models.deletion.SET_NULL,
+                related_name="profile",
+                to=settings.AUTH_USER_MODEL,
+            ),
+        ),
+    ]
diff --git a/program/models.py b/program/models.py
index e6cd1ebc..0a24036d 100644
--- a/program/models.py
+++ b/program/models.py
@@ -444,7 +444,7 @@ class Note(models.Model):
     slug = models.SlugField(max_length=32, unique=True)
     summary = models.TextField(blank=True)
     tags = models.TextField(blank=True)
-    timeslot = models.OneToOneField(TimeSlot, on_delete=models.CASCADE, unique=True)
+    timeslot = models.OneToOneField(TimeSlot, null=True, on_delete=models.SET_NULL, unique=True)
     title = models.CharField(max_length=128)
     updated_at = models.DateTimeField(auto_now=True, blank=True, null=True)
     updated_by = models.CharField(blank=True, default="", max_length=150)
@@ -474,7 +474,7 @@ class UserProfile(models.Model):
     created_by = models.CharField(max_length=150)
     updated_at = models.DateTimeField(auto_now=True, blank=True, null=True)
     updated_by = models.CharField(blank=True, default="", max_length=150)
-    user = models.OneToOneField(User, on_delete=models.CASCADE, related_name="profile")
+    user = models.OneToOneField(User, null=True, on_delete=models.SET_NULL, related_name="profile")
 
     def __str__(self):
         return self.user.username
-- 
GitLab