From 9b4624793c42b3340628412727811c9cfdb1ab24 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Fri, 6 Sep 2024 13:16:02 +0300 Subject: [PATCH] Fix issue with student deletion --- .../0003_fix_delete_student_again.py | 27 +++++++++++++++++++ back-end/src/ams/models/applicants.py | 8 ++++-- .../lms/migrations/0008_fix_delete_student.py | 20 ++++++++++++++ back-end/src/lms/models/students.py | 4 ++- 4 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 back-end/src/ams/migrations/0003_fix_delete_student_again.py create mode 100644 back-end/src/lms/migrations/0008_fix_delete_student.py diff --git a/back-end/src/ams/migrations/0003_fix_delete_student_again.py b/back-end/src/ams/migrations/0003_fix_delete_student_again.py new file mode 100644 index 00000000..3a536fe3 --- /dev/null +++ b/back-end/src/ams/migrations/0003_fix_delete_student_again.py @@ -0,0 +1,27 @@ +# Generated by Django 3.2.20 on 2024-09-06 09:38 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('common', '0003_program_available_to_choose_for_applicants'), + ('ams', '0002_applicationprocess_mtc_admission_year'), + ] + + operations = [ + migrations.AlterField( + model_name='applicant', + name='contact_info', + field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='common.contactinfo'), + ), + migrations.AlterField( + model_name='applicant', + name='user', + field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/back-end/src/ams/models/applicants.py b/back-end/src/ams/models/applicants.py index fe11d777..8e738e26 100644 --- a/back-end/src/ams/models/applicants.py +++ b/back-end/src/ams/models/applicants.py @@ -149,7 +149,9 @@ class Applicant(models.Model): ) contact_info = models.OneToOneField( to=ContactInfo, - on_delete=models.RESTRICT, + on_delete=models.SET_NULL, + null=True, + blank=True, ) photo = models.OneToOneField( to=Photo, @@ -172,7 +174,9 @@ class Applicant(models.Model): ) user = models.OneToOneField( to=get_user_model(), - on_delete=models.RESTRICT, + on_delete=models.SET_NULL, + null=True, + blank=True, ) objects = ApplicantManager() diff --git a/back-end/src/lms/migrations/0008_fix_delete_student.py b/back-end/src/lms/migrations/0008_fix_delete_student.py new file mode 100644 index 00000000..386c6188 --- /dev/null +++ b/back-end/src/lms/migrations/0008_fix_delete_student.py @@ -0,0 +1,20 @@ +# Generated by Django 3.2.20 on 2024-09-06 09:30 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('common', '0003_program_available_to_choose_for_applicants'), + ('lms', '0007_alter_mark_changed_by'), + ] + + operations = [ + migrations.AlterField( + model_name='student', + name='contact_info', + field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='common.contactinfo'), + ), + ] diff --git a/back-end/src/lms/models/students.py b/back-end/src/lms/models/students.py index b36105af..71757358 100644 --- a/back-end/src/lms/models/students.py +++ b/back-end/src/lms/models/students.py @@ -72,7 +72,9 @@ class Post(models.TextChoices): ) contact_info = models.OneToOneField( to=ContactInfo, - on_delete=models.RESTRICT, + on_delete=models.SET_NULL, + null=True, + blank=True, ) # --------------------------------------------------------------------------