summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
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
commit4dc674ea9fa7516878a7b128da10ca9f09a6a1c7 (patch)
tree996f49e49c31c5c6644905ee3d9a3bf30da3bd1f /ishtar_common
parent4cbb3429c3243e93597c2d2fbc668b444499c728 (diff)
downloadIshtar-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.py76
-rw-r--r--ishtar_common/models.py20
-rw-r--r--ishtar_common/models_imports.py10
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.")
)