diff options
author | Étienne Loks <etienne@peacefrogs.net> | 2019-02-06 15:31:06 +0100 |
---|---|---|
committer | Étienne Loks <etienne@peacefrogs.net> | 2019-02-06 15:31:06 +0100 |
commit | 4dc674ea9fa7516878a7b128da10ca9f09a6a1c7 (patch) | |
tree | 996f49e49c31c5c6644905ee3d9a3bf30da3bd1f /ishtar_common | |
parent | 4cbb3429c3243e93597c2d2fbc668b444499c728 (diff) | |
download | Ishtar-4dc674ea9fa7516878a7b128da10ca9f09a6a1c7.tar.bz2 Ishtar-4dc674ea9fa7516878a7b128da10ca9f09a6a1c7.zip |
ForeignKey: SET_NULL fix
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/migrations/0084_auto_20190206_1522.py | 76 | ||||
-rw-r--r-- | ishtar_common/models.py | 20 | ||||
-rw-r--r-- | ishtar_common/models_imports.py | 10 |
3 files changed, 99 insertions, 7 deletions
diff --git a/ishtar_common/migrations/0084_auto_20190206_1522.py b/ishtar_common/migrations/0084_auto_20190206_1522.py new file mode 100644 index 000000000..d5bd969b9 --- /dev/null +++ b/ishtar_common/migrations/0084_auto_20190206_1522.py @@ -0,0 +1,76 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.10 on 2019-02-06 15:22 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('ishtar_common', '0083_document_index_external_id'), + ] + + operations = [ + migrations.AlterField( + model_name='department', + name='state', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.State', verbose_name='\xc9tat'), + ), + migrations.AlterField( + model_name='document', + name='format_type', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.Format', verbose_name='Format'), + ), + migrations.AlterField( + model_name='document', + name='source_type', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.SourceType', verbose_name='Type'), + ), + migrations.AlterField( + model_name='document', + name='support_type', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.SupportType', verbose_name='Support'), + ), + migrations.AlterField( + model_name='import', + name='associated_group', + field=models.ForeignKey(blank=True, help_text='Si un groupe est s\xe9lectionn\xe9, les cl\xe9s de rapprochement enregistr\xe9es dans ce groupe sont utilis\xe9es.', null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.TargetKeyGroup'), + ), + migrations.AlterField( + model_name='importercolumn', + name='regexp_pre_filter', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.Regexp'), + ), + migrations.AlterField( + model_name='importertype', + name='associated_models', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='ishtar_common.ImporterModel', verbose_name='Mod\xe8le associ\xe9'), + ), + migrations.AlterField( + model_name='importtarget', + name='regexp_filter', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.Regexp'), + ), + migrations.AlterField( + model_name='jsondatafield', + name='section', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.JsonDataSection'), + ), + migrations.AlterField( + model_name='person', + name='title', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.TitleType', verbose_name='Titre'), + ), + migrations.AlterField( + model_name='sourcetype', + name='parent', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.SourceType', verbose_name='Parent'), + ), + migrations.AlterField( + model_name='town', + name='departement', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.Department', verbose_name='D\xe9partement'), + ), + ] diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 7f5857037..a37c1f6bc 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -953,6 +953,7 @@ class GeneralType(Cached, models.Model): class HierarchicalType(GeneralType): parent = models.ForeignKey('self', blank=True, null=True, + on_delete=models.SET_NULL, verbose_name=_(u"Parent")) class Meta: @@ -1165,7 +1166,8 @@ class JsonDataField(models.Model): order = models.IntegerField(_(u"Order"), default=10) search_index = models.BooleanField(_(u"Use in search indexes"), default=False) - section = models.ForeignKey(JsonDataSection, blank=True, null=True) + section = models.ForeignKey(JsonDataSection, blank=True, null=True, + on_delete=models.SET_NULL) custom_forms = models.ManyToManyField( "CustomForm", blank=True, through="CustomFormJsonField") @@ -2732,8 +2734,10 @@ class State(models.Model): class Department(models.Model): label = models.CharField(_(u"Label"), max_length=30) number = models.CharField(_(u"Number"), unique=True, max_length=3) - state = models.ForeignKey('State', verbose_name=_(u"State"), blank=True, - null=True) + state = models.ForeignKey( + 'State', verbose_name=_(u"State"), blank=True, null=True, + on_delete=models.SET_NULL, + ) objects = NumberManager() class Meta: @@ -3127,6 +3131,7 @@ class Person(Address, Merge, OwnPerms, ValueGetter): old_title = models.CharField(_(u"Title"), max_length=100, choices=TYPE, blank=True, null=True) title = models.ForeignKey(TitleType, verbose_name=_(u"Title"), + on_delete=models.SET_NULL, blank=True, null=True) salutation = models.CharField(_(u"Salutation"), max_length=200, blank=True, null=True) @@ -3616,6 +3621,7 @@ class Basket(FullSearch, OwnPerms): comment = models.TextField(_(u"Comment"), blank=True, null=True) user = models.ForeignKey( IshtarUser, blank=True, null=True, related_name='%(class)ss', + on_delete=models.SET_NULL, verbose_name=_(u"Owner")) available = models.BooleanField(_(u"Available"), default=True) shared_with = models.ManyToManyField( @@ -3974,13 +3980,16 @@ class Document(BaseHistorizedItem, OwnPerms, ImageModel): internal_reference = models.TextField(_(u"Internal ref."), null=True, blank=True) source_type = models.ForeignKey(SourceType, verbose_name=_(u"Type"), + on_delete=models.SET_NULL, null=True, blank=True) licenses = models.ManyToManyField(LicenseType, verbose_name=_(u"License"), blank=True) support_type = models.ForeignKey(SupportType, verbose_name=_(u"Support"), + on_delete=models.SET_NULL, blank=True, null=True, ) format_type = models.ForeignKey(Format, verbose_name=_(u"Format"), - blank=True, null=True, ) + on_delete=models.SET_NULL, + blank=True, null=True) scale = models.CharField(_(u"Scale"), max_length=30, null=True, blank=True) authors = models.ManyToManyField(Author, verbose_name=_(u"Authors"), @@ -4313,7 +4322,8 @@ class Town(Imported, models.Model): numero_insee = models.CharField(u"Code commune (numéro INSEE)", max_length=120) departement = models.ForeignKey( - Department, verbose_name=_(u"Department"), null=True, blank=True) + Department, verbose_name=_(u"Department"), + on_delete=models.SET_NULL, null=True, blank=True) year = models.IntegerField( _("Year of creation"), null=True, blank=True, help_text=_(u"Filling this field is relevant to distinguish old towns " diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py index e9f0e5d9e..ffb456071 100644 --- a/ishtar_common/models_imports.py +++ b/ishtar_common/models_imports.py @@ -128,6 +128,7 @@ class ImporterType(models.Model): blank=True) associated_models = models.ForeignKey( ImporterModel, verbose_name=_(u"Associated model"), + on_delete=models.SET_NULL, related_name='+', blank=True, null=True) created_models = models.ManyToManyField( ImporterModel, verbose_name=_(u"Models that can accept new items"), @@ -370,7 +371,9 @@ class ImporterColumn(models.Model): importer_type = models.ForeignKey(ImporterType, related_name='columns') col_number = models.IntegerField(_(u"Column number"), default=1) description = models.TextField(_("Description"), blank=True, null=True) - regexp_pre_filter = models.ForeignKey("Regexp", blank=True, null=True) + regexp_pre_filter = models.ForeignKey( + "Regexp", blank=True, null=True, on_delete=models.SET_NULL, + ) required = models.BooleanField(_(u"Required"), default=False) export_field_name = models.CharField( _(u"Export field name"), blank=True, null=True, max_length=200, @@ -472,7 +475,9 @@ class ImportTarget(models.Model): """ column = models.ForeignKey(ImporterColumn, related_name='targets') target = models.CharField(u"Target", max_length=500) - regexp_filter = models.ForeignKey("Regexp", blank=True, null=True) + regexp_filter = models.ForeignKey( + "Regexp", blank=True, null=True, on_delete=models.SET_NULL, + ) formater_type = models.ForeignKey("FormaterType") force_new = models.BooleanField(_(u"Force creation of new items"), default=False) @@ -835,6 +840,7 @@ class Import(models.Model): blank=True, null=True, max_length=220, help_text=max_size_help()) associated_group = models.ForeignKey( TargetKeyGroup, blank=True, null=True, + on_delete=models.SET_NULL, help_text=_(u"If a group is selected, target key saved in this group " u"will be used.") ) |