diff --git a/stages/migrations/0001_initial.py b/stages/migrations/0001_initial.py index 1c000d0..e361110 100644 --- a/stages/migrations/0001_initial.py +++ b/stages/migrations/0001_initial.py @@ -95,7 +95,7 @@ class Migration(migrations.Migration): ('title', models.CharField(max_length=150, verbose_name='Titre')), ('start_date', models.DateField(verbose_name='Date de début')), ('end_date', models.DateField(verbose_name='Date de fin')), - ('level', models.ForeignKey(verbose_name='Niveau', to='stages.Level')), + ('level', models.ForeignKey(verbose_name='Niveau', to='stages.Level', on_delete=models.PROTECT)), ], options={ 'ordering': ('-start_date',), @@ -142,7 +142,7 @@ class Migration(migrations.Migration): ('mobile', models.CharField(max_length=40, verbose_name='Portable', blank=True)), ('email', models.EmailField(max_length=254, verbose_name='Courriel', blank=True)), ('archived', models.BooleanField(default=False, verbose_name='Archivé')), - ('klass', models.ForeignKey(verbose_name='Classe', to='stages.Klass')), + ('klass', models.ForeignKey(verbose_name='Classe', to='stages.Klass', on_delete=models.CASCADE)), ], options={ 'verbose_name': '\xc9tudiant', @@ -153,9 +153,9 @@ class Migration(migrations.Migration): fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('comment', models.TextField(verbose_name='Remarques', blank=True)), - ('availability', models.OneToOneField(verbose_name='Disponibilité', to='stages.Availability')), - ('referent', models.ForeignKey(verbose_name='Référent', blank=True, to='stages.Referent', null=True)), - ('student', models.ForeignKey(verbose_name='\xc9tudiant', to='stages.Student')), + ('availability', models.OneToOneField(verbose_name='Disponibilité', to='stages.Availability', on_delete=models.CASCADE)), + ('referent', models.ForeignKey(verbose_name='Référent', blank=True, to='stages.Referent', null=True, on_delete=models.SET_NULL)), + ('student', models.ForeignKey(verbose_name='\xc9tudiant', to='stages.Student', on_delete=models.CASCADE)), ], options={ 'verbose_name': 'Stage', @@ -164,41 +164,41 @@ class Migration(migrations.Migration): migrations.AddField( model_name='period', name='section', - field=models.ForeignKey(verbose_name='Filière', to='stages.Section'), + field=models.ForeignKey(verbose_name='Filière', to='stages.Section', on_delete=models.PROTECT), ), migrations.AddField( model_name='klass', name='level', - field=models.ForeignKey(verbose_name='Niveau', to='stages.Level'), + field=models.ForeignKey(verbose_name='Niveau', to='stages.Level', on_delete=models.PROTECT), ), migrations.AddField( model_name='klass', name='section', - field=models.ForeignKey(verbose_name='Filière', to='stages.Section'), + field=models.ForeignKey(verbose_name='Filière', to='stages.Section', on_delete=models.PROTECT), ), migrations.AddField( model_name='corpcontact', name='corporation', - field=models.ForeignKey(verbose_name='Institution', to='stages.Corporation'), + field=models.ForeignKey(verbose_name='Institution', to='stages.Corporation', on_delete=models.CASCADE), ), migrations.AddField( model_name='availability', name='contact', - field=models.ForeignKey(verbose_name='Contact institution', blank=True, to='stages.CorpContact', null=True), + field=models.ForeignKey(verbose_name='Contact institution', blank=True, to='stages.CorpContact', null=True, on_delete=models.SET_NULL), ), migrations.AddField( model_name='availability', name='corporation', - field=models.ForeignKey(verbose_name='Institution', to='stages.Corporation'), + field=models.ForeignKey(verbose_name='Institution', to='stages.Corporation', on_delete=models.CASCADE), ), migrations.AddField( model_name='availability', name='domain', - field=models.ForeignKey(verbose_name='Domaine', to='stages.Domain'), + field=models.ForeignKey(verbose_name='Domaine', to='stages.Domain', on_delete=models.CASCADE), ), migrations.AddField( model_name='availability', name='period', - field=models.ForeignKey(verbose_name='Période', to='stages.Period'), + field=models.ForeignKey(verbose_name='Période', to='stages.Period', on_delete=models.CASCADE), ), ] diff --git a/stages/models.py b/stages/models.py index c4d0a87..6294fa1 100644 --- a/stages/models.py +++ b/stages/models.py @@ -46,8 +46,8 @@ class Level(models.Model): class Klass(models.Model): name = models.CharField(max_length=10, verbose_name='Nom') - section = models.ForeignKey(Section, verbose_name='Filière') - level = models.ForeignKey(Level, verbose_name='Niveau') + section = models.ForeignKey(Section, verbose_name='Filière', on_delete=models.PROTECT) + level = models.ForeignKey(Level, verbose_name='Niveau', on_delete=models.PROTECT) class Meta: verbose_name = "Classe" @@ -157,7 +157,7 @@ class Corporation(models.Model): class CorpContact(models.Model): - corporation = models.ForeignKey(Corporation, verbose_name='Institution') + corporation = models.ForeignKey(Corporation, verbose_name='Institution', on_delete=models.CASCADE) ext_id = models.IntegerField(null=True, blank=True, verbose_name='ID externe') is_main = models.BooleanField(default=False, verbose_name='Contact principal') always_cc = models.BooleanField(default=False, verbose_name='Toujours en copie') @@ -191,8 +191,8 @@ class Domain(models.Model): class Period(models.Model): """ Périodes de stages """ title = models.CharField(max_length=150, verbose_name='Titre') - section = models.ForeignKey(Section, verbose_name='Filière') - level = models.ForeignKey(Level, verbose_name='Niveau') + section = models.ForeignKey(Section, verbose_name='Filière', on_delete=models.PROTECT) + level = models.ForeignKey(Level, verbose_name='Niveau', on_delete=models.PROTECT) start_date = models.DateField(verbose_name='Date de début') end_date = models.DateField(verbose_name='Date de fin') @@ -229,10 +229,11 @@ class Period(models.Model): class Availability(models.Model): """ Disponibilités des institutions """ - corporation = models.ForeignKey(Corporation, verbose_name='Institution') - period = models.ForeignKey(Period, verbose_name='Période') - domain = models.ForeignKey(Domain, verbose_name='Domaine') - contact = models.ForeignKey(CorpContact, null=True, blank=True, verbose_name='Contact institution') + corporation = models.ForeignKey(Corporation, verbose_name='Institution', on_delete=models.CASCADE) + period = models.ForeignKey(Period, verbose_name='Période', on_delete=models.CASCADE) + domain = models.ForeignKey(Domain, verbose_name='Domaine', on_delete=models.CASCADE) + contact = models.ForeignKey(CorpContact, null=True, blank=True, verbose_name='Contact institution', + on_delete=models.SET_NULL) priority = models.BooleanField('Prioritaire', default=False) comment = models.TextField(blank=True, verbose_name='Remarques') @@ -253,9 +254,10 @@ class Availability(models.Model): class Training(models.Model): """ Stages """ - student = models.ForeignKey(Student, verbose_name='Étudiant') - availability = models.OneToOneField(Availability, verbose_name='Disponibilité') - referent = models.ForeignKey(Referent, null=True, blank=True, verbose_name='Référent') + student = models.ForeignKey(Student, verbose_name='Étudiant', on_delete=models.CASCADE) + availability = models.OneToOneField(Availability, verbose_name='Disponibilité', on_delete=models.CASCADE) + referent = models.ForeignKey(Referent, null=True, blank=True, verbose_name='Référent', + on_delete=models.SET_NULL) comment = models.TextField(blank=True, verbose_name='Remarques') class Meta: