meta-openembedded and poky: subtree updates

Squash of the following due to dependencies among them
and OpenBMC changes:

meta-openembedded: subtree update:d0748372d2..9201611135
meta-openembedded: subtree update:9201611135..17fd382f34
poky: subtree update:9052e5b32a..2e11d97b6c
poky: subtree update:2e11d97b6c..a8544811d7

The change log was too large for the jenkins plugin
to handle therefore it has been removed. Here is
the first and last commit of each subtree:

meta-openembedded:d0748372d2
      cppzmq: bump to version 4.6.0
meta-openembedded:17fd382f34
      mpv: Remove X11 dependency
poky:9052e5b32a
      package_ipk: Remove pointless comment to trigger rebuild
poky:a8544811d7
      pbzip2: Fix license warning

Change-Id: If0fc6c37629642ee207a4ca2f7aa501a2c673cd6
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
diff --git a/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml b/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml
index a723f5a..fd93f4d 100644
--- a/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml
+++ b/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml
@@ -8,9 +8,9 @@
 
   <!-- Bitbake versions which correspond to the metadata release -->
   <object model="orm.bitbakeversion" pk="1">
-    <field type="CharField" name="name">warrior</field>
+    <field type="CharField" name="name">dunfell</field>
     <field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field>
-    <field type="CharField" name="branch">1.42</field>
+    <field type="CharField" name="branch">1.46</field>
   </object>
   <object model="orm.bitbakeversion" pk="2">
     <field type="CharField" name="name">HEAD</field>
@@ -30,11 +30,11 @@
 
   <!-- Releases available -->
   <object model="orm.release" pk="1">
-    <field type="CharField" name="name">warrior</field>
-    <field type="CharField" name="description">Openembedded Warrior</field>
+    <field type="CharField" name="name">dunfell</field>
+    <field type="CharField" name="description">Openembedded Dunfell</field>
     <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">1</field>
-    <field type="CharField" name="branch_name">warrior</field>
-    <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"http://cgit.openembedded.org/openembedded-core/log/?h=warrior\"&gt;OpenEmbedded Warrior&lt;/a&gt; branch.</field>
+    <field type="CharField" name="branch_name">dunfell</field>
+    <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"http://cgit.openembedded.org/openembedded-core/log/?h=dunfell\"&gt;OpenEmbedded Dunfell&lt;/a&gt; branch.</field>
   </object>
   <object model="orm.release" pk="2">
     <field type="CharField" name="name">local</field>
diff --git a/poky/bitbake/lib/toaster/orm/fixtures/poky.xml b/poky/bitbake/lib/toaster/orm/fixtures/poky.xml
index 7992383..902bc88 100644
--- a/poky/bitbake/lib/toaster/orm/fixtures/poky.xml
+++ b/poky/bitbake/lib/toaster/orm/fixtures/poky.xml
@@ -8,9 +8,9 @@
 
   <!-- Bitbake versions which correspond to the metadata release -->
   <object model="orm.bitbakeversion" pk="1">
-    <field type="CharField" name="name">warrior</field>
+    <field type="CharField" name="name">dunfell</field>
     <field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field>
-    <field type="CharField" name="branch">warrior</field>
+    <field type="CharField" name="branch">dunfell</field>
     <field type="CharField" name="dirpath">bitbake</field>
   </object>
   <object model="orm.bitbakeversion" pk="2">
@@ -35,11 +35,11 @@
 
   <!-- Releases available -->
   <object model="orm.release" pk="1">
-    <field type="CharField" name="name">warrior</field>
-    <field type="CharField" name="description">Yocto Project 2.7 "Warrior"</field>
+    <field type="CharField" name="name">dunfell</field>
+    <field type="CharField" name="description">Yocto Project 3.1 "Dunfell"</field>
     <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">1</field>
-    <field type="CharField" name="branch_name">warrior</field>
-    <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=warrior"&gt;Yocto Project Warrior branch&lt;/a&gt;.</field>
+    <field type="CharField" name="branch_name">dunfell</field>
+    <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=dunfell"&gt;Yocto Project Dunfell branch&lt;/a&gt;.</field>
   </object>
   <object model="orm.release" pk="2">
     <field type="CharField" name="name">local</field>
@@ -130,7 +130,7 @@
     <field rel="ManyToOneRel" to="orm.layer" name="layer">1</field>
     <field type="IntegerField" name="layer_source">0</field>
     <field rel="ManyToOneRel" to="orm.release" name="release">1</field>
-    <field type="CharField" name="branch">warrior</field>
+    <field type="CharField" name="branch">dunfell</field>
     <field type="CharField" name="dirpath">meta</field>
   </object>
   <object model="orm.layer_version" pk="2">
@@ -168,7 +168,7 @@
     <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
     <field type="IntegerField" name="layer_source">0</field>
     <field rel="ManyToOneRel" to="orm.release" name="release">1</field>
-    <field type="CharField" name="branch">warrior</field>
+    <field type="CharField" name="branch">dunfell</field>
     <field type="CharField" name="dirpath">meta-poky</field>
   </object>
   <object model="orm.layer_version" pk="6">
@@ -206,7 +206,7 @@
     <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
     <field type="IntegerField" name="layer_source">0</field>
     <field rel="ManyToOneRel" to="orm.release" name="release">1</field>
-    <field type="CharField" name="branch">warrior</field>
+    <field type="CharField" name="branch">dunfell</field>
     <field type="CharField" name="dirpath">meta-yocto-bsp</field>
   </object>
   <object model="orm.layer_version" pk="10">
diff --git a/poky/bitbake/lib/toaster/orm/management/commands/lsupdates.py b/poky/bitbake/lib/toaster/orm/management/commands/lsupdates.py
index 5b5abbb..a4dbcaa 100644
--- a/poky/bitbake/lib/toaster/orm/management/commands/lsupdates.py
+++ b/poky/bitbake/lib/toaster/orm/management/commands/lsupdates.py
@@ -8,7 +8,7 @@
 
 from django.core.management.base import BaseCommand
 
-from orm.models import LayerSource, Layer, Release, Layer_Version
+from orm.models import Layer, Release, Layer_Version
 from orm.models import LayerVersionDependency, Machine, Recipe
 from orm.models import Distro
 from orm.models import ToasterSetting
diff --git a/poky/bitbake/lib/toaster/orm/migrations/0001_initial.py b/poky/bitbake/lib/toaster/orm/migrations/0001_initial.py
index 760462f..a8ac23b 100644
--- a/poky/bitbake/lib/toaster/orm/migrations/0001_initial.py
+++ b/poky/bitbake/lib/toaster/orm/migrations/0001_initial.py
@@ -54,7 +54,7 @@
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('file_name', models.FilePathField()),
                 ('file_size', models.IntegerField()),
-                ('build', models.ForeignKey(to='orm.Build')),
+                ('build', models.ForeignKey(to='orm.Build', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -64,7 +64,7 @@
                 ('area', models.IntegerField(choices=[(0, b'variable')])),
                 ('key', models.CharField(max_length=100)),
                 ('text', models.TextField()),
-                ('build', models.ForeignKey(related_name='helptext_build', to='orm.Build')),
+                ('build', models.ForeignKey(related_name='helptext_build', to='orm.Build', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -94,8 +94,8 @@
                 ('dirpath', models.CharField(default=None, max_length=255, null=True)),
                 ('priority', models.IntegerField(default=0)),
                 ('local_path', models.FilePathField(default=b'/', max_length=1024)),
-                ('build', models.ForeignKey(related_name='layer_version_build', default=None, to='orm.Build', null=True)),
-                ('layer', models.ForeignKey(related_name='layer_version_layer', to='orm.Layer')),
+                ('build', models.ForeignKey(related_name='layer_version_build', default=None, to='orm.Build', null=True, on_delete=models.CASCADE)),
+                ('layer', models.ForeignKey(related_name='layer_version_layer', to='orm.Layer', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -112,9 +112,9 @@
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('up_id', models.IntegerField(default=None, null=True)),
-                ('depends_on', models.ForeignKey(related_name='dependees', to='orm.Layer_Version')),
-                ('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True)),
-                ('layer_version', models.ForeignKey(related_name='dependencies', to='orm.Layer_Version')),
+                ('depends_on', models.ForeignKey(related_name='dependees', to='orm.Layer_Version', on_delete=models.CASCADE)),
+                ('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True, on_delete=models.CASCADE)),
+                ('layer_version', models.ForeignKey(related_name='dependencies', to='orm.Layer_Version', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -125,7 +125,7 @@
                 ('message', models.TextField(null=True, blank=True)),
                 ('pathname', models.FilePathField(max_length=255, blank=True)),
                 ('lineno', models.IntegerField(null=True)),
-                ('build', models.ForeignKey(to='orm.Build')),
+                ('build', models.ForeignKey(to='orm.Build', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -136,8 +136,8 @@
                 ('up_date', models.DateTimeField(default=None, null=True)),
                 ('name', models.CharField(max_length=255)),
                 ('description', models.CharField(max_length=255)),
-                ('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True)),
-                ('layer_version', models.ForeignKey(to='orm.Layer_Version')),
+                ('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True, on_delete=models.CASCADE)),
+                ('layer_version', models.ForeignKey(to='orm.Layer_Version', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -154,7 +154,7 @@
                 ('installed_size', models.IntegerField(default=0)),
                 ('section', models.CharField(max_length=80, blank=True)),
                 ('license', models.CharField(max_length=80, blank=True)),
-                ('build', models.ForeignKey(to='orm.Build', null=True)),
+                ('build', models.ForeignKey(to='orm.Build', null=True, on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -162,8 +162,8 @@
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('dep_type', models.IntegerField(choices=[(0, b'depends'), (1, b'depends'), (3, b'recommends'), (2, b'recommends'), (4, b'suggests'), (5, b'provides'), (6, b'replaces'), (7, b'conflicts')])),
-                ('depends_on', models.ForeignKey(related_name='package_dependencies_target', to='orm.Package')),
-                ('package', models.ForeignKey(related_name='package_dependencies_source', to='orm.Package')),
+                ('depends_on', models.ForeignKey(related_name='package_dependencies_target', to='orm.Package', on_delete=models.CASCADE)),
+                ('package', models.ForeignKey(related_name='package_dependencies_source', to='orm.Package', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -172,7 +172,7 @@
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('path', models.FilePathField(max_length=255, blank=True)),
                 ('size', models.IntegerField()),
-                ('package', models.ForeignKey(related_name='buildfilelist_package', to='orm.Package')),
+                ('package', models.ForeignKey(related_name='buildfilelist_package', to='orm.Package', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -185,7 +185,7 @@
                 ('updated', models.DateTimeField(auto_now=True)),
                 ('user_id', models.IntegerField(null=True)),
                 ('is_default', models.BooleanField(default=False)),
-                ('bitbake_version', models.ForeignKey(to='orm.BitbakeVersion', null=True)),
+                ('bitbake_version', models.ForeignKey(to='orm.BitbakeVersion', null=True, on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -193,8 +193,8 @@
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('optional', models.BooleanField(default=True)),
-                ('layercommit', models.ForeignKey(to='orm.Layer_Version', null=True)),
-                ('project', models.ForeignKey(to='orm.Project')),
+                ('layercommit', models.ForeignKey(to='orm.Layer_Version', null=True, on_delete=models.CASCADE)),
+                ('project', models.ForeignKey(to='orm.Project', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -203,7 +203,7 @@
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('target', models.CharField(max_length=100)),
                 ('task', models.CharField(max_length=100, null=True)),
-                ('project', models.ForeignKey(to='orm.Project')),
+                ('project', models.ForeignKey(to='orm.Project', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -212,7 +212,7 @@
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('name', models.CharField(max_length=100)),
                 ('value', models.TextField(blank=True)),
-                ('project', models.ForeignKey(to='orm.Project')),
+                ('project', models.ForeignKey(to='orm.Project', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -232,8 +232,8 @@
                 ('file_path', models.FilePathField(max_length=255)),
                 ('pathflags', models.CharField(max_length=200, blank=True)),
                 ('is_image', models.BooleanField(default=False)),
-                ('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True)),
-                ('layer_version', models.ForeignKey(related_name='recipe_layer_version', to='orm.Layer_Version')),
+                ('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True, on_delete=models.CASCADE)),
+                ('layer_version', models.ForeignKey(related_name='recipe_layer_version', to='orm.Layer_Version', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -241,8 +241,8 @@
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('dep_type', models.IntegerField(choices=[(0, b'depends'), (1, b'rdepends')])),
-                ('depends_on', models.ForeignKey(related_name='r_dependencies_depends', to='orm.Recipe')),
-                ('recipe', models.ForeignKey(related_name='r_dependencies_recipe', to='orm.Recipe')),
+                ('depends_on', models.ForeignKey(related_name='r_dependencies_depends', to='orm.Recipe', on_delete=models.CASCADE)),
+                ('recipe', models.ForeignKey(related_name='r_dependencies_recipe', to='orm.Recipe', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -253,7 +253,7 @@
                 ('description', models.CharField(max_length=255)),
                 ('branch_name', models.CharField(default=b'', max_length=50)),
                 ('helptext', models.TextField(null=True)),
-                ('bitbake_version', models.ForeignKey(to='orm.BitbakeVersion')),
+                ('bitbake_version', models.ForeignKey(to='orm.BitbakeVersion', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -261,7 +261,7 @@
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('layer_name', models.CharField(default=b'', max_length=100)),
-                ('release', models.ForeignKey(to='orm.Release')),
+                ('release', models.ForeignKey(to='orm.Release', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -269,8 +269,8 @@
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('priority', models.IntegerField(default=0)),
-                ('layer_source', models.ForeignKey(to='orm.LayerSource')),
-                ('release', models.ForeignKey(to='orm.Release')),
+                ('layer_source', models.ForeignKey(to='orm.LayerSource', on_delete=models.CASCADE)),
+                ('release', models.ForeignKey(to='orm.Release', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -282,7 +282,7 @@
                 ('is_image', models.BooleanField(default=False)),
                 ('image_size', models.IntegerField(default=0)),
                 ('license_manifest_path', models.CharField(max_length=500, null=True)),
-                ('build', models.ForeignKey(to='orm.Build')),
+                ('build', models.ForeignKey(to='orm.Build', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -295,9 +295,9 @@
                 ('permission', models.CharField(max_length=16)),
                 ('owner', models.CharField(max_length=128)),
                 ('group', models.CharField(max_length=128)),
-                ('directory', models.ForeignKey(related_name='directory_set', to='orm.Target_File', null=True)),
-                ('sym_target', models.ForeignKey(related_name='symlink_set', to='orm.Target_File', null=True)),
-                ('target', models.ForeignKey(to='orm.Target')),
+                ('directory', models.ForeignKey(related_name='directory_set', to='orm.Target_File', null=True, on_delete=models.CASCADE)),
+                ('sym_target', models.ForeignKey(related_name='symlink_set', to='orm.Target_File', null=True, on_delete=models.CASCADE)),
+                ('target', models.ForeignKey(to='orm.Target', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -306,15 +306,15 @@
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('file_name', models.FilePathField(max_length=254)),
                 ('file_size', models.IntegerField()),
-                ('target', models.ForeignKey(to='orm.Target')),
+                ('target', models.ForeignKey(to='orm.Target', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
             name='Target_Installed_Package',
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
-                ('package', models.ForeignKey(related_name='buildtargetlist_package', to='orm.Package')),
-                ('target', models.ForeignKey(to='orm.Target')),
+                ('package', models.ForeignKey(related_name='buildtargetlist_package', to='orm.Package', on_delete=models.CASCADE)),
+                ('target', models.ForeignKey(to='orm.Target', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -337,8 +337,8 @@
                 ('sstate_result', models.IntegerField(default=0, choices=[(0, b'Not Applicable'), (1, b'File not in cache'), (2, b'Failed'), (3, b'Succeeded')])),
                 ('message', models.CharField(max_length=240)),
                 ('logfile', models.FilePathField(max_length=255, blank=True)),
-                ('build', models.ForeignKey(related_name='task_build', to='orm.Build')),
-                ('recipe', models.ForeignKey(related_name='tasks', to='orm.Recipe')),
+                ('build', models.ForeignKey(related_name='task_build', to='orm.Build', on_delete=models.CASCADE)),
+                ('recipe', models.ForeignKey(related_name='tasks', to='orm.Recipe', on_delete=models.CASCADE)),
             ],
             options={
                 'ordering': ('order', 'recipe'),
@@ -348,8 +348,8 @@
             name='Task_Dependency',
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
-                ('depends_on', models.ForeignKey(related_name='task_dependencies_depends', to='orm.Task')),
-                ('task', models.ForeignKey(related_name='task_dependencies_task', to='orm.Task')),
+                ('depends_on', models.ForeignKey(related_name='task_dependencies_depends', to='orm.Task', on_delete=models.CASCADE)),
+                ('task', models.ForeignKey(related_name='task_dependencies_task', to='orm.Task', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -370,7 +370,7 @@
                 ('changed', models.BooleanField(default=False)),
                 ('human_readable_name', models.CharField(max_length=200)),
                 ('description', models.TextField(blank=True)),
-                ('build', models.ForeignKey(related_name='variable_build', to='orm.Build')),
+                ('build', models.ForeignKey(related_name='variable_build', to='orm.Build', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -381,28 +381,28 @@
                 ('file_name', models.FilePathField(max_length=255)),
                 ('line_number', models.IntegerField(null=True)),
                 ('operation', models.CharField(max_length=64)),
-                ('variable', models.ForeignKey(related_name='vhistory', to='orm.Variable')),
+                ('variable', models.ForeignKey(related_name='vhistory', to='orm.Variable', on_delete=models.CASCADE)),
             ],
         ),
         migrations.AddField(
             model_name='project',
             name='release',
-            field=models.ForeignKey(to='orm.Release', null=True),
+            field=models.ForeignKey(to='orm.Release', null=True, on_delete=models.CASCADE),
         ),
         migrations.AddField(
             model_name='package_dependency',
             name='target',
-            field=models.ForeignKey(to='orm.Target', null=True),
+            field=models.ForeignKey(to='orm.Target', null=True, on_delete=models.CASCADE),
         ),
         migrations.AddField(
             model_name='package',
             name='recipe',
-            field=models.ForeignKey(to='orm.Recipe', null=True),
+            field=models.ForeignKey(to='orm.Recipe', null=True, on_delete=models.CASCADE),
         ),
         migrations.AddField(
             model_name='logmessage',
             name='task',
-            field=models.ForeignKey(blank=True, to='orm.Task', null=True),
+            field=models.ForeignKey(blank=True, to='orm.Task', null=True, on_delete=models.CASCADE),
         ),
         migrations.AlterUniqueTogether(
             name='layersource',
@@ -411,32 +411,32 @@
         migrations.AddField(
             model_name='layer_version',
             name='layer_source',
-            field=models.ForeignKey(default=None, to='orm.LayerSource', null=True),
+            field=models.ForeignKey(default=None, to='orm.LayerSource', null=True, on_delete=models.CASCADE),
         ),
         migrations.AddField(
             model_name='layer_version',
             name='project',
-            field=models.ForeignKey(default=None, to='orm.Project', null=True),
+            field=models.ForeignKey(default=None, to='orm.Project', null=True, on_delete=models.CASCADE),
         ),
         migrations.AddField(
             model_name='layer_version',
             name='up_branch',
-            field=models.ForeignKey(default=None, to='orm.Branch', null=True),
+            field=models.ForeignKey(default=None, to='orm.Branch', null=True, on_delete=models.CASCADE),
         ),
         migrations.AddField(
             model_name='layer',
             name='layer_source',
-            field=models.ForeignKey(default=None, to='orm.LayerSource', null=True),
+            field=models.ForeignKey(default=None, to='orm.LayerSource', null=True, on_delete=models.CASCADE),
         ),
         migrations.AddField(
             model_name='build',
             name='project',
-            field=models.ForeignKey(to='orm.Project'),
+            field=models.ForeignKey(to='orm.Project', on_delete=models.CASCADE),
         ),
         migrations.AddField(
             model_name='branch',
             name='layer_source',
-            field=models.ForeignKey(default=True, to='orm.LayerSource', null=True),
+            field=models.ForeignKey(default=True, to='orm.LayerSource', null=True, on_delete=models.CASCADE),
         ),
         migrations.CreateModel(
             name='ImportedLayerSource',
diff --git a/poky/bitbake/lib/toaster/orm/migrations/0002_customimagerecipe.py b/poky/bitbake/lib/toaster/orm/migrations/0002_customimagerecipe.py
index 9cec82e..09c2bff 100644
--- a/poky/bitbake/lib/toaster/orm/migrations/0002_customimagerecipe.py
+++ b/poky/bitbake/lib/toaster/orm/migrations/0002_customimagerecipe.py
@@ -14,10 +14,10 @@
         migrations.CreateModel(
             name='CustomImageRecipe',
             fields=[
-                ('recipe_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='orm.Recipe')),
+                ('recipe_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='orm.Recipe', on_delete=models.CASCADE)),
                 ('last_updated', models.DateTimeField(default=None, null=True)),
-                ('base_recipe', models.ForeignKey(related_name='based_on_recipe', to='orm.Recipe')),
-                ('project', models.ForeignKey(to='orm.Project')),
+                ('base_recipe', models.ForeignKey(related_name='based_on_recipe', to='orm.Recipe', on_delete=models.CASCADE)),
+                ('project', models.ForeignKey(to='orm.Project', on_delete=models.CASCADE)),
             ],
             bases=('orm.recipe',),
         ),
diff --git a/poky/bitbake/lib/toaster/orm/migrations/0003_customimagepackage.py b/poky/bitbake/lib/toaster/orm/migrations/0003_customimagepackage.py
index b027f66..8cb81d7 100644
--- a/poky/bitbake/lib/toaster/orm/migrations/0003_customimagepackage.py
+++ b/poky/bitbake/lib/toaster/orm/migrations/0003_customimagepackage.py
@@ -14,7 +14,7 @@
         migrations.CreateModel(
             name='CustomImagePackage',
             fields=[
-                ('package_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='orm.Package')),
+                ('package_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='orm.Package', on_delete=models.CASCADE)),
                 ('recipe_appends', models.ManyToManyField(related_name='appends_set', to='orm.CustomImageRecipe')),
                 ('recipe_excludes', models.ManyToManyField(related_name='excludes_set', to='orm.CustomImageRecipe')),
                 ('recipe_includes', models.ManyToManyField(related_name='includes_set', to='orm.CustomImageRecipe')),
diff --git a/poky/bitbake/lib/toaster/orm/migrations/0004_provides.py b/poky/bitbake/lib/toaster/orm/migrations/0004_provides.py
index dfde2d1..8449604 100644
--- a/poky/bitbake/lib/toaster/orm/migrations/0004_provides.py
+++ b/poky/bitbake/lib/toaster/orm/migrations/0004_provides.py
@@ -16,12 +16,12 @@
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('name', models.CharField(max_length=100)),
-                ('recipe', models.ForeignKey(to='orm.Recipe')),
+                ('recipe', models.ForeignKey(to='orm.Recipe', on_delete=models.CASCADE)),
             ],
         ),
         migrations.AddField(
             model_name='recipe_dependency',
             name='via',
-            field=models.ForeignKey(null=True, default=None, to='orm.Provides'),
+            field=models.ForeignKey(null=True, default=None, to='orm.Provides', on_delete=models.CASCADE),
         ),
     ]
diff --git a/poky/bitbake/lib/toaster/orm/migrations/0008_refactor_artifact_models.py b/poky/bitbake/lib/toaster/orm/migrations/0008_refactor_artifact_models.py
index 3367582..41a547a 100644
--- a/poky/bitbake/lib/toaster/orm/migrations/0008_refactor_artifact_models.py
+++ b/poky/bitbake/lib/toaster/orm/migrations/0008_refactor_artifact_models.py
@@ -17,7 +17,7 @@
                 ('id', models.AutoField(auto_created=True, primary_key=True, verbose_name='ID', serialize=False)),
                 ('file_name', models.FilePathField()),
                 ('file_size', models.IntegerField()),
-                ('target', models.ForeignKey(to='orm.Target')),
+                ('target', models.ForeignKey(to='orm.Target', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -26,7 +26,7 @@
                 ('id', models.AutoField(auto_created=True, primary_key=True, verbose_name='ID', serialize=False)),
                 ('file_name', models.FilePathField()),
                 ('file_size', models.IntegerField()),
-                ('target', models.ForeignKey(to='orm.Target')),
+                ('target', models.ForeignKey(to='orm.Target', on_delete=models.CASCADE)),
             ],
         ),
         migrations.RemoveField(
diff --git a/poky/bitbake/lib/toaster/orm/migrations/0011_delete_layersource.py b/poky/bitbake/lib/toaster/orm/migrations/0011_delete_layersource.py
index 7550696..3f3a2e1 100644
--- a/poky/bitbake/lib/toaster/orm/migrations/0011_delete_layersource.py
+++ b/poky/bitbake/lib/toaster/orm/migrations/0011_delete_layersource.py
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
-from django.db import migrations, models
+from django.db import migrations
 
 
 class Migration(migrations.Migration):
diff --git a/poky/bitbake/lib/toaster/orm/migrations/0012_use_release_instead_of_up_branch.py b/poky/bitbake/lib/toaster/orm/migrations/0012_use_release_instead_of_up_branch.py
index 0e6bb83..4b96bf0 100644
--- a/poky/bitbake/lib/toaster/orm/migrations/0012_use_release_instead_of_up_branch.py
+++ b/poky/bitbake/lib/toaster/orm/migrations/0012_use_release_instead_of_up_branch.py
@@ -46,7 +46,7 @@
         migrations.AddField(
             model_name='layer_version',
             name='release',
-            field=models.ForeignKey(to='orm.Release', default=None, null=True),
+            field=models.ForeignKey(to='orm.Release', default=None, null=True, on_delete=models.CASCADE),
         ),
         migrations.RunPython(branch_to_release,
                              reverse_code=migrations.RunPython.noop),
diff --git a/poky/bitbake/lib/toaster/orm/migrations/0017_distro_clone.py b/poky/bitbake/lib/toaster/orm/migrations/0017_distro_clone.py
index d3c5901..731c0de 100644
--- a/poky/bitbake/lib/toaster/orm/migrations/0017_distro_clone.py
+++ b/poky/bitbake/lib/toaster/orm/migrations/0017_distro_clone.py
@@ -18,7 +18,7 @@
                 ('up_date', models.DateTimeField(default=None, null=True)),
                 ('name', models.CharField(max_length=255)),
                 ('description', models.CharField(max_length=255)),
-                ('layer_version', models.ForeignKey(to='orm.Layer_Version')),
+                ('layer_version', models.ForeignKey(to='orm.Layer_Version', on_delete=models.CASCADE)),
             ],
         ),
     ]
diff --git a/poky/bitbake/lib/toaster/orm/migrations/0019_django_2_2.py b/poky/bitbake/lib/toaster/orm/migrations/0019_django_2_2.py
new file mode 100644
index 0000000..666aef1
--- /dev/null
+++ b/poky/bitbake/lib/toaster/orm/migrations/0019_django_2_2.py
@@ -0,0 +1,23 @@
+# Generated by Django 2.2.7 on 2019-11-19 03:38
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('orm', '0018_project_specific'),
+    ]
+
+    operations = [
+        migrations.RemoveField(
+            model_name='distro',
+            name='up_id',
+        ),
+        migrations.AlterField(
+            model_name='build',
+            name='recipes_parsed',
+            field=models.IntegerField(default=1),
+        ),
+    ]
diff --git a/poky/bitbake/lib/toaster/orm/models.py b/poky/bitbake/lib/toaster/orm/models.py
index bb6b5de..7f7e922 100644
--- a/poky/bitbake/lib/toaster/orm/models.py
+++ b/poky/bitbake/lib/toaster/orm/models.py
@@ -13,7 +13,7 @@
 from django.utils import timezone
 from django.utils.encoding import force_bytes
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 from django.core import validators
 from django.conf import settings
@@ -178,8 +178,8 @@
                              'release__branch_name']
     name = models.CharField(max_length=100)
     short_description = models.CharField(max_length=50, blank=True)
-    bitbake_version = models.ForeignKey('BitbakeVersion', null=True)
-    release = models.ForeignKey("Release", null=True)
+    bitbake_version = models.ForeignKey('BitbakeVersion', on_delete=models.CASCADE, null=True)
+    release = models.ForeignKey("Release", on_delete=models.CASCADE, null=True)
     created = models.DateTimeField(auto_now_add=True)
     updated = models.DateTimeField(auto_now=True)
     # This is a horrible hack; since Toaster has no "User" model available when
@@ -469,7 +469,7 @@
 
     search_allowed_fields = ['machine', 'cooker_log_path', "target__target", "target__target_image_file__file_name"]
 
-    project = models.ForeignKey(Project)            # must have a project
+    project = models.ForeignKey(Project, on_delete=models.CASCADE)            # must have a project
     machine = models.CharField(max_length=100)
     distro = models.CharField(max_length=100)
     distro_version = models.CharField(max_length=100)
@@ -777,13 +777,13 @@
         return "%d %s %s" % (self.id, self.project, ",".join([t.target for t in self.target_set.all()]))
 
 class ProjectTarget(models.Model):
-    project = models.ForeignKey(Project)
+    project = models.ForeignKey(Project, on_delete=models.CASCADE)
     target = models.CharField(max_length=100)
     task = models.CharField(max_length=100, null=True)
 
 class Target(models.Model):
     search_allowed_fields = ['target', 'file_name']
-    build = models.ForeignKey(Build)
+    build = models.ForeignKey(Build, on_delete=models.CASCADE)
     target = models.CharField(max_length=100)
     task = models.CharField(max_length=100, null=True)
     is_image = models.BooleanField(default = False)
@@ -944,7 +944,7 @@
 
 # kernel artifacts for a target: bzImage and modules*
 class TargetKernelFile(models.Model):
-    target = models.ForeignKey(Target)
+    target = models.ForeignKey(Target, on_delete=models.CASCADE)
     file_name = models.FilePathField()
     file_size = models.IntegerField()
 
@@ -954,7 +954,7 @@
 
 # SDK artifacts for a target: sh and manifest files
 class TargetSDKFile(models.Model):
-    target = models.ForeignKey(Target)
+    target = models.ForeignKey(Target, on_delete=models.CASCADE)
     file_name = models.FilePathField()
     file_size = models.IntegerField()
 
@@ -973,7 +973,7 @@
         'ubifs', 'wic', 'wic.bz2', 'wic.gz', 'wic.lzma'
     }
 
-    target = models.ForeignKey(Target)
+    target = models.ForeignKey(Target, on_delete=models.CASCADE)
     file_name = models.FilePathField(max_length=254)
     file_size = models.IntegerField()
 
@@ -1007,15 +1007,15 @@
         ( ITYPE_BLOCK ,'block'),
         )
 
-    target = models.ForeignKey(Target)
+    target = models.ForeignKey(Target, on_delete=models.CASCADE)
     path = models.FilePathField()
     size = models.IntegerField()
     inodetype = models.IntegerField(choices = ITYPES)
     permission = models.CharField(max_length=16)
     owner = models.CharField(max_length=128)
     group = models.CharField(max_length=128)
-    directory = models.ForeignKey('Target_File', related_name="directory_set", null=True)
-    sym_target = models.ForeignKey('Target_File', related_name="symlink_set", null=True)
+    directory = models.ForeignKey('Target_File', on_delete=models.CASCADE, related_name="directory_set", null=True)
+    sym_target = models.ForeignKey('Target_File', on_delete=models.CASCADE, related_name="symlink_set", null=True)
 
 
 class Task(models.Model):
@@ -1102,13 +1102,13 @@
     def get_description(self):
         return self._helptext
 
-    build = models.ForeignKey(Build, related_name='task_build')
+    build = models.ForeignKey(Build, on_delete=models.CASCADE, related_name='task_build')
     order = models.IntegerField(null=True)
     task_executed = models.BooleanField(default=False) # True means Executed, False means Not/Executed
     outcome = models.IntegerField(choices=TASK_OUTCOME, default=OUTCOME_NA)
     sstate_checksum = models.CharField(max_length=100, blank=True)
     path_to_sstate_obj = models.FilePathField(max_length=500, blank=True)
-    recipe = models.ForeignKey('Recipe', related_name='tasks')
+    recipe = models.ForeignKey('Recipe', on_delete=models.CASCADE, related_name='tasks')
     task_name = models.CharField(max_length=100)
     source_url = models.FilePathField(max_length=255, blank=True)
     work_directory = models.FilePathField(max_length=255, blank=True)
@@ -1147,13 +1147,13 @@
 
 
 class Task_Dependency(models.Model):
-    task = models.ForeignKey(Task, related_name='task_dependencies_task')
-    depends_on = models.ForeignKey(Task, related_name='task_dependencies_depends')
+    task = models.ForeignKey(Task, on_delete=models.CASCADE, related_name='task_dependencies_task')
+    depends_on = models.ForeignKey(Task, on_delete=models.CASCADE, related_name='task_dependencies_depends')
 
 class Package(models.Model):
     search_allowed_fields = ['name', 'version', 'revision', 'recipe__name', 'recipe__version', 'recipe__license', 'recipe__layer_version__layer__name', 'recipe__layer_version__branch', 'recipe__layer_version__commit', 'recipe__layer_version__local_path', 'installed_name']
-    build = models.ForeignKey('Build', null=True)
-    recipe = models.ForeignKey('Recipe', null=True)
+    build = models.ForeignKey('Build', on_delete=models.CASCADE, null=True)
+    recipe = models.ForeignKey('Recipe', on_delete=models.CASCADE, null=True)
     name = models.CharField(max_length=100)
     installed_name = models.CharField(max_length=100, default='')
     version = models.CharField(max_length=100, blank=True)
@@ -1289,19 +1289,19 @@
         TYPE_RCONFLICTS :   ("conflicts", "%s conflicts with %s, which will not be installed if this package is not first removed"),
     }
 
-    package = models.ForeignKey(Package, related_name='package_dependencies_source')
-    depends_on = models.ForeignKey(Package, related_name='package_dependencies_target')   # soft dependency
+    package = models.ForeignKey(Package, on_delete=models.CASCADE, related_name='package_dependencies_source')
+    depends_on = models.ForeignKey(Package, on_delete=models.CASCADE, related_name='package_dependencies_target')   # soft dependency
     dep_type = models.IntegerField(choices=DEPENDS_TYPE)
-    target = models.ForeignKey(Target, null=True)
+    target = models.ForeignKey(Target, on_delete=models.CASCADE, null=True)
     objects = Package_DependencyManager()
 
 class Target_Installed_Package(models.Model):
-    target = models.ForeignKey(Target)
-    package = models.ForeignKey(Package, related_name='buildtargetlist_package')
+    target = models.ForeignKey(Target, on_delete=models.CASCADE)
+    package = models.ForeignKey(Package, on_delete=models.CASCADE, related_name='buildtargetlist_package')
 
 
 class Package_File(models.Model):
-    package = models.ForeignKey(Package, related_name='buildfilelist_package')
+    package = models.ForeignKey(Package, on_delete=models.CASCADE, related_name='buildfilelist_package')
     path = models.FilePathField(max_length=255, blank=True)
     size = models.IntegerField()
 
@@ -1318,7 +1318,7 @@
 
     name = models.CharField(max_length=100, blank=True)
     version = models.CharField(max_length=100, blank=True)
-    layer_version = models.ForeignKey('Layer_Version',
+    layer_version = models.ForeignKey('Layer_Version', on_delete=models.CASCADE,
                                       related_name='recipe_layer_version')
     summary = models.TextField(blank=True)
     description = models.TextField(blank=True)
@@ -1356,7 +1356,7 @@
 
 class Provides(models.Model):
     name = models.CharField(max_length=100)
-    recipe = models.ForeignKey(Recipe)
+    recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
 
 class Recipe_Dependency(models.Model):
     TYPE_DEPENDS = 0
@@ -1366,9 +1366,9 @@
         (TYPE_DEPENDS, "depends"),
         (TYPE_RDEPENDS, "rdepends"),
     )
-    recipe = models.ForeignKey(Recipe, related_name='r_dependencies_recipe')
-    depends_on = models.ForeignKey(Recipe, related_name='r_dependencies_depends')
-    via = models.ForeignKey(Provides, null=True, default=None)
+    recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE, related_name='r_dependencies_recipe')
+    depends_on = models.ForeignKey(Recipe, on_delete=models.CASCADE, related_name='r_dependencies_depends')
+    via = models.ForeignKey(Provides, on_delete=models.CASCADE, null=True, default=None)
     dep_type = models.IntegerField(choices=DEPENDS_TYPE)
     objects = Recipe_DependencyManager()
 
@@ -1377,7 +1377,7 @@
     search_allowed_fields = ["name", "description", "layer_version__layer__name"]
     up_date = models.DateTimeField(null = True, default = None)
 
-    layer_version = models.ForeignKey('Layer_Version')
+    layer_version = models.ForeignKey('Layer_Version', on_delete=models.CASCADE)
     name = models.CharField(max_length=255)
     description = models.CharField(max_length=255)
 
@@ -1408,7 +1408,7 @@
     """ A release is a project template, used to pre-populate Project settings with a configuration set """
     name = models.CharField(max_length=32, unique = True)
     description = models.CharField(max_length=255)
-    bitbake_version = models.ForeignKey(BitbakeVersion)
+    bitbake_version = models.ForeignKey(BitbakeVersion, on_delete=models.CASCADE)
     branch_name = models.CharField(max_length=50, default = "")
     helptext = models.TextField(null=True)
 
@@ -1419,7 +1419,7 @@
         return self.name
 
 class ReleaseDefaultLayer(models.Model):
-    release = models.ForeignKey(Release)
+    release = models.ForeignKey(Release, on_delete=models.CASCADE)
     layer_name = models.CharField(max_length=100, default="")
 
 
@@ -1474,10 +1474,10 @@
                              "layer__description", "layer__vcs_url",
                              "dirpath", "release__name", "commit", "branch"]
 
-    build = models.ForeignKey(Build, related_name='layer_version_build',
+    build = models.ForeignKey(Build, on_delete=models.CASCADE, related_name='layer_version_build',
                               default=None, null=True)
 
-    layer = models.ForeignKey(Layer, related_name='layer_version_layer')
+    layer = models.ForeignKey(Layer, on_delete=models.CASCADE, related_name='layer_version_layer')
 
     layer_source = models.IntegerField(choices=LayerSource.SOURCE_TYPE,
                                        default=0)
@@ -1485,7 +1485,7 @@
     up_date = models.DateTimeField(null=True, default=timezone.now)
 
     # To which metadata release does this layer version belong to
-    release = models.ForeignKey(Release, null=True, default=None)
+    release = models.ForeignKey(Release, on_delete=models.CASCADE, null=True, default=None)
 
     branch = models.CharField(max_length=80)
     commit = models.CharField(max_length=100)
@@ -1499,7 +1499,7 @@
     local_path = models.FilePathField(max_length=1024, default="/")
 
     # Set if this layer is restricted to a particular project
-    project = models.ForeignKey('Project', null=True, default=None)
+    project = models.ForeignKey('Project', on_delete=models.CASCADE, null=True, default=None)
 
     # code lifted, with adaptations, from the layerindex-web application
     # https://git.yoctoproject.org/cgit/cgit.cgi/layerindex-web/
@@ -1608,14 +1608,14 @@
 
 class LayerVersionDependency(models.Model):
 
-    layer_version = models.ForeignKey(Layer_Version,
+    layer_version = models.ForeignKey(Layer_Version, on_delete=models.CASCADE,
                                       related_name="dependencies")
-    depends_on = models.ForeignKey(Layer_Version,
+    depends_on = models.ForeignKey(Layer_Version, on_delete=models.CASCADE,
                                    related_name="dependees")
 
 class ProjectLayer(models.Model):
-    project = models.ForeignKey(Project)
-    layercommit = models.ForeignKey(Layer_Version, null=True)
+    project = models.ForeignKey(Project, on_delete=models.CASCADE)
+    layercommit = models.ForeignKey(Layer_Version, on_delete=models.CASCADE, null=True)
     optional = models.BooleanField(default = True)
 
     def __unicode__(self):
@@ -1630,8 +1630,8 @@
     LAYER_NAME = "toaster-custom-images"
 
     search_allowed_fields = ['name']
-    base_recipe = models.ForeignKey(Recipe, related_name='based_on_recipe')
-    project = models.ForeignKey(Project)
+    base_recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE, related_name='based_on_recipe')
+    project = models.ForeignKey(Project, on_delete=models.CASCADE)
     last_updated = models.DateTimeField(null=True, default=None)
 
     def get_last_successful_built_target(self):
@@ -1647,14 +1647,14 @@
         """
         # Check if we're aldready up-to-date or not
         target = self.get_last_successful_built_target()
-        if target == None:
+        if target is None:
             # So we've never actually built this Custom recipe but what about
             # the recipe it's based on?
             target = \
                 Target.objects.filter(Q(build__outcome=Build.SUCCEEDED) &
                                       Q(build__project=self.project) &
                                       Q(target=self.base_recipe.name)).last()
-            if target == None:
+            if target is None:
                 return
 
         if target.build.completed_on == self.last_updated:
@@ -1784,14 +1784,14 @@
         return recipe_contents
 
 class ProjectVariable(models.Model):
-    project = models.ForeignKey(Project)
+    project = models.ForeignKey(Project, on_delete=models.CASCADE)
     name = models.CharField(max_length=100)
     value = models.TextField(blank = True)
 
 class Variable(models.Model):
     search_allowed_fields = ['variable_name', 'variable_value',
                              'vhistory__file_name', "description"]
-    build = models.ForeignKey(Build, related_name='variable_build')
+    build = models.ForeignKey(Build, on_delete=models.CASCADE, related_name='variable_build')
     variable_name = models.CharField(max_length=100)
     variable_value = models.TextField(blank=True)
     changed = models.BooleanField(default=False)
@@ -1799,7 +1799,7 @@
     description = models.TextField(blank=True)
 
 class VariableHistory(models.Model):
-    variable = models.ForeignKey(Variable, related_name='vhistory')
+    variable = models.ForeignKey(Variable, on_delete=models.CASCADE, related_name='vhistory')
     value   = models.TextField(blank=True)
     file_name = models.FilePathField(max_length=255)
     line_number = models.IntegerField(null=True)
@@ -1809,7 +1809,7 @@
     VARIABLE = 0
     HELPTEXT_AREA = ((VARIABLE, 'variable'), )
 
-    build = models.ForeignKey(Build, related_name='helptext_build')
+    build = models.ForeignKey(Build, on_delete=models.CASCADE, related_name='helptext_build')
     area = models.IntegerField(choices=HELPTEXT_AREA)
     key = models.CharField(max_length=100)
     text = models.TextField()
@@ -1829,8 +1829,8 @@
         (EXCEPTION, "toaster exception")
     )
 
-    build = models.ForeignKey(Build)
-    task  = models.ForeignKey(Task, blank = True, null=True)
+    build = models.ForeignKey(Build, on_delete=models.CASCADE)
+    task  = models.ForeignKey(Task, on_delete=models.CASCADE, blank = True, null=True)
     level = models.IntegerField(choices=LOG_LEVEL, default=INFO)
     message = models.TextField(blank=True, null=True)
     pathname = models.FilePathField(max_length=255, blank=True)
@@ -1859,7 +1859,7 @@
     search_allowed_fields = ["name", "description", "layer_version__layer__name"]
     up_date = models.DateTimeField(null = True, default = None)
 
-    layer_version = models.ForeignKey('Layer_Version')
+    layer_version = models.ForeignKey('Layer_Version', on_delete=models.CASCADE)
     name = models.CharField(max_length=255)
     description = models.CharField(max_length=255)