diff --git a/smash/web/models/appointment.py b/smash/web/models/appointment.py index 2dac8a1310fcba945995a6648147c0bd250a6fd7..55440a0a4ca530830b073ab8839fa4c764b69f50 100644 --- a/smash/web/models/appointment.py +++ b/smash/web/models/appointment.py @@ -29,11 +29,11 @@ class Appointment(models.Model): flying_team = models.ForeignKey("web.FlyingTeam", verbose_name='Flying team (if applicable)', - null=True, blank=True + null=True, blank=True, on_delete=models.CASCADE ) worker_assigned = models.ForeignKey("web.Worker", verbose_name='Worker conducting the assessment (if applicable)', - null=True, blank=True + null=True, blank=True, on_delete=models.CASCADE ) appointment_types = models.ManyToManyField("web.AppointmentType", @@ -44,16 +44,16 @@ class Appointment(models.Model): room = models.ForeignKey("web.Room", verbose_name='Room ID', null=True, - blank=True + blank=True, on_delete=models.CASCADE ) location = models.ForeignKey("web.Location", - verbose_name='Location', + verbose_name='Location', on_delete=models.CASCADE ) visit = models.ForeignKey("web.Visit", verbose_name='Visit ID', editable=False, null=True, - blank=True, + blank=True, on_delete=models.CASCADE ) comment = models.TextField(max_length=1024, verbose_name='Comment', diff --git a/smash/web/models/appointment_type_link.py b/smash/web/models/appointment_type_link.py index c2de6050854dc57820b72b3d53b3f945f3d08aaf..682acd43efc7af959339f89c11f572ae981241bf 100644 --- a/smash/web/models/appointment_type_link.py +++ b/smash/web/models/appointment_type_link.py @@ -9,7 +9,7 @@ class AppointmentTypeLink(models.Model): appointment = models.ForeignKey("web.Appointment", on_delete=models.CASCADE) appointment_type = models.ForeignKey("web.AppointmentType", on_delete=models.CASCADE) date_when = models.DateTimeField(null=True, default=None) - worker = models.ForeignKey("web.Worker", null=True, default=None) + worker = models.ForeignKey("web.Worker", null=True, default=None, on_delete=models.CASCADE) def save(self, *args, **kwargs): if self.date_when is not None: diff --git a/smash/web/models/contact_attempt.py b/smash/web/models/contact_attempt.py index 8eec61db67dd0597de95e0c13c02f025c8b01a44..f1416f9ede9ba5b6b1b57c4d66034f3b55c77bee 100644 --- a/smash/web/models/contact_attempt.py +++ b/smash/web/models/contact_attempt.py @@ -8,10 +8,10 @@ __author__ = 'Valentin Grouès' class ContactAttempt(models.Model): subject = models.ForeignKey("web.StudySubject", - verbose_name='Subject' + verbose_name='Subject', on_delete=models.CASCADE ) worker = models.ForeignKey("web.Worker", null=True, - verbose_name='Worker' + verbose_name='Worker', on_delete=models.CASCADE ) type = models.CharField(max_length=2, default=CONTACT_TYPES_PHONE, choices=CONTACT_TYPES_CHOICES) diff --git a/smash/web/models/inconsistent_subject.py b/smash/web/models/inconsistent_subject.py index aacdf1189c49748a708b263e0fe4214cf9fa609e..fce64100f2027d03ee7400cb077f8853f295dd18 100644 --- a/smash/web/models/inconsistent_subject.py +++ b/smash/web/models/inconsistent_subject.py @@ -19,6 +19,7 @@ class InconsistentField(models.Model): ) inconsistent_subject = models.ForeignKey("web.InconsistentSubject", verbose_name='Invalid fields', + on_delete=models.CASCADE ) @staticmethod @@ -47,7 +48,8 @@ class InconsistentSubject(models.Model): subject = models.ForeignKey("web.StudySubject", verbose_name='Subject', null=True, - blank=True + blank=True, + on_delete=models.CASCADE ) redcap_url = models.CharField(max_length=255, diff --git a/smash/web/models/missing_subject.py b/smash/web/models/missing_subject.py index 6050dd7e290ee6e10b6edbf059b2d592cc4e3c9d..284e3f96e8497148897773e6912212d55c3ad382 100644 --- a/smash/web/models/missing_subject.py +++ b/smash/web/models/missing_subject.py @@ -14,7 +14,8 @@ class MissingSubject(models.Model): subject = models.ForeignKey("web.StudySubject", verbose_name='Subject', null=True, - blank=True + blank=True, + on_delete=models.CASCADE ) redcap_id = models.CharField(max_length=255, diff --git a/smash/web/models/provenance.py b/smash/web/models/provenance.py index 79e1f665fa06dc4da8d67264f0b0924a2011c078..30a84fd9d6ccbae778c2f0291be52fdb3cffde82 100644 --- a/smash/web/models/provenance.py +++ b/smash/web/models/provenance.py @@ -23,7 +23,7 @@ class Provenance(models.Model): modification_author = models.ForeignKey("web.Worker", verbose_name='Worker who modified the row', - null=True, blank=False + null=True, blank=False, on_delete=models.deletion.CASCADE ) modified_field = models.CharField(max_length=1024, diff --git a/smash/web/models/study_subject.py b/smash/web/models/study_subject.py index 5e4c14a59f2c3cdd8b344e4f4961cf596960486a..ce9cd0b01fc86d9c116d0ecd20a5fb9acbce5cae 100644 --- a/smash/web/models/study_subject.py +++ b/smash/web/models/study_subject.py @@ -52,13 +52,13 @@ class StudySubject(models.Model): subject = models.ForeignKey("web.Subject", verbose_name='Subject', editable=False, - null=False, + null=False, on_delete=models.CASCADE ) study = models.ForeignKey("web.Study", verbose_name='Study', editable=False, - null=False, + null=False, on_delete=models.CASCADE ) postponed = models.BooleanField(choices=BOOL_CHOICES, @@ -80,13 +80,13 @@ class StudySubject(models.Model): default_location = models.ForeignKey(Location, verbose_name='Default appointment location', null=True, - blank=True + blank=True, on_delete=models.CASCADE ) flying_team = models.ForeignKey("web.FlyingTeam", verbose_name='Default flying team location (if applicable)', null=True, - blank=True + blank=True, on_delete=models.CASCADE ) screening_number = models.CharField(max_length=50, @@ -125,7 +125,7 @@ class StudySubject(models.Model): health_partner = models.ForeignKey("web.Worker", verbose_name='Health partner', null=True, - blank=True + blank=True, on_delete=models.CASCADE ) health_partner_feedback_agreement = models.BooleanField( diff --git a/smash/web/models/subject.py b/smash/web/models/subject.py index 34b6cec5113f4abf77aebca7b9ca9e2ccda77995..2f35eb689a2b73869d771ae6a9523fa1d5eda5cb 100644 --- a/smash/web/models/subject.py +++ b/smash/web/models/subject.py @@ -51,7 +51,8 @@ class Subject(models.Model): null=True, blank=True, related_name="subjects_written_communication", - verbose_name='Default language for document generation' + verbose_name='Default language for document generation', + on_delete=models.CASCADE ) phone_number = models.CharField(max_length=64, null=True, @@ -102,7 +103,7 @@ class Subject(models.Model): null=False, blank=False, default=COUNTRY_OTHER_ID, - verbose_name='Country' + verbose_name='Country', on_delete=models.CASCADE ) next_of_keen_name = models.CharField(max_length=255, diff --git a/smash/web/models/voucher.py b/smash/web/models/voucher.py index 560b5896a342dcd3c90be70f2ff1f97e7011a521..53bd4785d3dd79dcdd9e1d41ac2027348327d052 100644 --- a/smash/web/models/voucher.py +++ b/smash/web/models/voucher.py @@ -21,7 +21,7 @@ class Voucher(models.Model): issue_date = models.DateField(verbose_name='Issue date', null=False) expiry_date = models.DateField(verbose_name='Expiry date', null=False) - issue_worker = models.ForeignKey(Worker, verbose_name='Issued by', null=False, related_name='issued_vouchers') + issue_worker = models.ForeignKey(Worker, verbose_name='Issued by', null=False, related_name='issued_vouchers', on_delete=models.CASCADE) hours = models.IntegerField( verbose_name='Hours', diff --git a/smash/web/models/worker.py b/smash/web/models/worker.py index 6ccb96750ea41c81a1b2bf7560605a7765b52f64..183cb92a24bc7f0a1244be41d3db21fb23f83dbc 100644 --- a/smash/web/models/worker.py +++ b/smash/web/models/worker.py @@ -77,7 +77,7 @@ class Worker(models.Model): blank=True ) user = models.OneToOneField(User, blank=True, null=True, - verbose_name='Username' + verbose_name='Username', on_delete=models.CASCADE ) first_name = models.CharField(max_length=50, verbose_name='First name', @@ -124,7 +124,7 @@ class Worker(models.Model): null=False, blank=False, default=COUNTRY_OTHER_ID, - verbose_name='Country' + verbose_name='Country', on_delete=models.CASCADE ) voucher_types = models.ManyToManyField("web.VoucherType", diff --git a/smash/web/models/worker_study_role.py b/smash/web/models/worker_study_role.py index e13544c233791fa6d43c7b8b2e96b9e26692d8c4..b32b40fb856d088eb1d8c09444e17a1f07857011 100644 --- a/smash/web/models/worker_study_role.py +++ b/smash/web/models/worker_study_role.py @@ -45,10 +45,11 @@ class WorkerStudyRole(models.Model): app_label = 'web' worker = models.ForeignKey("web.Worker", - related_name="roles" + related_name="roles", + on_delete=models.CASCADE ) - study = models.ForeignKey("web.Study") + study = models.ForeignKey("web.Study", on_delete=models.CASCADE) name = models.CharField(max_length=20, choices=STUDY_ROLE_CHOICES, verbose_name='Role'