summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/orm/models.py
diff options
context:
space:
mode:
authorDavid Reyna <David.Reyna@windriver.com>2020-03-25 21:24:55 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-03-29 20:02:36 +0100
commit4dabdbe11ddc47a885c7f8cc6b3f26439d40d77c (patch)
tree1cfd3f48830d5688e65c283c181767d74a951358 /bitbake/lib/toaster/orm/models.py
parent7e252ef31094f760b5666aec9b2205166a8ccbd2 (diff)
downloadpoky-4dabdbe11ddc47a885c7f8cc6b3f26439d40d77c.tar.gz
bitbake: toaster: migrate to Django-2.2
Toaster migration to Django-2.2. Django-1.x has been deprecated. [YOCTO #13207] (Bitbake rev: 9730f95686b2ac72cf1fa513c555f7c7787e2667) Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/toaster/orm/models.py')
-rw-r--r--bitbake/lib/toaster/orm/models.py98
1 files changed, 49 insertions, 49 deletions
diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py
index caf069721a..7f7e922ade 100644
--- a/bitbake/lib/toaster/orm/models.py
+++ b/bitbake/lib/toaster/orm/models.py
@@ -13,7 +13,7 @@ from django.db.models import F, Q, Sum, Count
13from django.utils import timezone 13from django.utils import timezone
14from django.utils.encoding import force_bytes 14from django.utils.encoding import force_bytes
15 15
16from django.core.urlresolvers import reverse 16from django.urls import reverse
17 17
18from django.core import validators 18from django.core import validators
19from django.conf import settings 19from django.conf import settings
@@ -178,8 +178,8 @@ class Project(models.Model):
178 'release__branch_name'] 178 'release__branch_name']
179 name = models.CharField(max_length=100) 179 name = models.CharField(max_length=100)
180 short_description = models.CharField(max_length=50, blank=True) 180 short_description = models.CharField(max_length=50, blank=True)
181 bitbake_version = models.ForeignKey('BitbakeVersion', null=True) 181 bitbake_version = models.ForeignKey('BitbakeVersion', on_delete=models.CASCADE, null=True)
182 release = models.ForeignKey("Release", null=True) 182 release = models.ForeignKey("Release", on_delete=models.CASCADE, null=True)
183 created = models.DateTimeField(auto_now_add=True) 183 created = models.DateTimeField(auto_now_add=True)
184 updated = models.DateTimeField(auto_now=True) 184 updated = models.DateTimeField(auto_now=True)
185 # This is a horrible hack; since Toaster has no "User" model available when 185 # This is a horrible hack; since Toaster has no "User" model available when
@@ -469,7 +469,7 @@ class Build(models.Model):
469 469
470 search_allowed_fields = ['machine', 'cooker_log_path', "target__target", "target__target_image_file__file_name"] 470 search_allowed_fields = ['machine', 'cooker_log_path', "target__target", "target__target_image_file__file_name"]
471 471
472 project = models.ForeignKey(Project) # must have a project 472 project = models.ForeignKey(Project, on_delete=models.CASCADE) # must have a project
473 machine = models.CharField(max_length=100) 473 machine = models.CharField(max_length=100)
474 distro = models.CharField(max_length=100) 474 distro = models.CharField(max_length=100)
475 distro_version = models.CharField(max_length=100) 475 distro_version = models.CharField(max_length=100)
@@ -777,13 +777,13 @@ class Build(models.Model):
777 return "%d %s %s" % (self.id, self.project, ",".join([t.target for t in self.target_set.all()])) 777 return "%d %s %s" % (self.id, self.project, ",".join([t.target for t in self.target_set.all()]))
778 778
779class ProjectTarget(models.Model): 779class ProjectTarget(models.Model):
780 project = models.ForeignKey(Project) 780 project = models.ForeignKey(Project, on_delete=models.CASCADE)
781 target = models.CharField(max_length=100) 781 target = models.CharField(max_length=100)
782 task = models.CharField(max_length=100, null=True) 782 task = models.CharField(max_length=100, null=True)
783 783
784class Target(models.Model): 784class Target(models.Model):
785 search_allowed_fields = ['target', 'file_name'] 785 search_allowed_fields = ['target', 'file_name']
786 build = models.ForeignKey(Build) 786 build = models.ForeignKey(Build, on_delete=models.CASCADE)
787 target = models.CharField(max_length=100) 787 target = models.CharField(max_length=100)
788 task = models.CharField(max_length=100, null=True) 788 task = models.CharField(max_length=100, null=True)
789 is_image = models.BooleanField(default = False) 789 is_image = models.BooleanField(default = False)
@@ -944,7 +944,7 @@ class Target(models.Model):
944 944
945# kernel artifacts for a target: bzImage and modules* 945# kernel artifacts for a target: bzImage and modules*
946class TargetKernelFile(models.Model): 946class TargetKernelFile(models.Model):
947 target = models.ForeignKey(Target) 947 target = models.ForeignKey(Target, on_delete=models.CASCADE)
948 file_name = models.FilePathField() 948 file_name = models.FilePathField()
949 file_size = models.IntegerField() 949 file_size = models.IntegerField()
950 950
@@ -954,7 +954,7 @@ class TargetKernelFile(models.Model):
954 954
955# SDK artifacts for a target: sh and manifest files 955# SDK artifacts for a target: sh and manifest files
956class TargetSDKFile(models.Model): 956class TargetSDKFile(models.Model):
957 target = models.ForeignKey(Target) 957 target = models.ForeignKey(Target, on_delete=models.CASCADE)
958 file_name = models.FilePathField() 958 file_name = models.FilePathField()
959 file_size = models.IntegerField() 959 file_size = models.IntegerField()
960 960
@@ -973,7 +973,7 @@ class Target_Image_File(models.Model):
973 'ubifs', 'wic', 'wic.bz2', 'wic.gz', 'wic.lzma' 973 'ubifs', 'wic', 'wic.bz2', 'wic.gz', 'wic.lzma'
974 } 974 }
975 975
976 target = models.ForeignKey(Target) 976 target = models.ForeignKey(Target, on_delete=models.CASCADE)
977 file_name = models.FilePathField(max_length=254) 977 file_name = models.FilePathField(max_length=254)
978 file_size = models.IntegerField() 978 file_size = models.IntegerField()
979 979
@@ -1007,15 +1007,15 @@ class Target_File(models.Model):
1007 ( ITYPE_BLOCK ,'block'), 1007 ( ITYPE_BLOCK ,'block'),
1008 ) 1008 )
1009 1009
1010 target = models.ForeignKey(Target) 1010 target = models.ForeignKey(Target, on_delete=models.CASCADE)
1011 path = models.FilePathField() 1011 path = models.FilePathField()
1012 size = models.IntegerField() 1012 size = models.IntegerField()
1013 inodetype = models.IntegerField(choices = ITYPES) 1013 inodetype = models.IntegerField(choices = ITYPES)
1014 permission = models.CharField(max_length=16) 1014 permission = models.CharField(max_length=16)
1015 owner = models.CharField(max_length=128) 1015 owner = models.CharField(max_length=128)
1016 group = models.CharField(max_length=128) 1016 group = models.CharField(max_length=128)
1017 directory = models.ForeignKey('Target_File', related_name="directory_set", null=True) 1017 directory = models.ForeignKey('Target_File', on_delete=models.CASCADE, related_name="directory_set", null=True)
1018 sym_target = models.ForeignKey('Target_File', related_name="symlink_set", null=True) 1018 sym_target = models.ForeignKey('Target_File', on_delete=models.CASCADE, related_name="symlink_set", null=True)
1019 1019
1020 1020
1021class Task(models.Model): 1021class Task(models.Model):
@@ -1102,13 +1102,13 @@ class Task(models.Model):
1102 def get_description(self): 1102 def get_description(self):
1103 return self._helptext 1103 return self._helptext
1104 1104
1105 build = models.ForeignKey(Build, related_name='task_build') 1105 build = models.ForeignKey(Build, on_delete=models.CASCADE, related_name='task_build')
1106 order = models.IntegerField(null=True) 1106 order = models.IntegerField(null=True)
1107 task_executed = models.BooleanField(default=False) # True means Executed, False means Not/Executed 1107 task_executed = models.BooleanField(default=False) # True means Executed, False means Not/Executed
1108 outcome = models.IntegerField(choices=TASK_OUTCOME, default=OUTCOME_NA) 1108 outcome = models.IntegerField(choices=TASK_OUTCOME, default=OUTCOME_NA)
1109 sstate_checksum = models.CharField(max_length=100, blank=True) 1109 sstate_checksum = models.CharField(max_length=100, blank=True)
1110 path_to_sstate_obj = models.FilePathField(max_length=500, blank=True) 1110 path_to_sstate_obj = models.FilePathField(max_length=500, blank=True)
1111 recipe = models.ForeignKey('Recipe', related_name='tasks') 1111 recipe = models.ForeignKey('Recipe', on_delete=models.CASCADE, related_name='tasks')
1112 task_name = models.CharField(max_length=100) 1112 task_name = models.CharField(max_length=100)
1113 source_url = models.FilePathField(max_length=255, blank=True) 1113 source_url = models.FilePathField(max_length=255, blank=True)
1114 work_directory = models.FilePathField(max_length=255, blank=True) 1114 work_directory = models.FilePathField(max_length=255, blank=True)
@@ -1147,13 +1147,13 @@ class Task(models.Model):
1147 1147
1148 1148
1149class Task_Dependency(models.Model): 1149class Task_Dependency(models.Model):
1150 task = models.ForeignKey(Task, related_name='task_dependencies_task') 1150 task = models.ForeignKey(Task, on_delete=models.CASCADE, related_name='task_dependencies_task')
1151 depends_on = models.ForeignKey(Task, related_name='task_dependencies_depends') 1151 depends_on = models.ForeignKey(Task, on_delete=models.CASCADE, related_name='task_dependencies_depends')
1152 1152
1153class Package(models.Model): 1153class Package(models.Model):
1154 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'] 1154 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']
1155 build = models.ForeignKey('Build', null=True) 1155 build = models.ForeignKey('Build', on_delete=models.CASCADE, null=True)
1156 recipe = models.ForeignKey('Recipe', null=True) 1156 recipe = models.ForeignKey('Recipe', on_delete=models.CASCADE, null=True)
1157 name = models.CharField(max_length=100) 1157 name = models.CharField(max_length=100)
1158 installed_name = models.CharField(max_length=100, default='') 1158 installed_name = models.CharField(max_length=100, default='')
1159 version = models.CharField(max_length=100, blank=True) 1159 version = models.CharField(max_length=100, blank=True)
@@ -1289,19 +1289,19 @@ class Package_Dependency(models.Model):
1289 TYPE_RCONFLICTS : ("conflicts", "%s conflicts with %s, which will not be installed if this package is not first removed"), 1289 TYPE_RCONFLICTS : ("conflicts", "%s conflicts with %s, which will not be installed if this package is not first removed"),
1290 } 1290 }
1291 1291
1292 package = models.ForeignKey(Package, related_name='package_dependencies_source') 1292 package = models.ForeignKey(Package, on_delete=models.CASCADE, related_name='package_dependencies_source')
1293 depends_on = models.ForeignKey(Package, related_name='package_dependencies_target') # soft dependency 1293 depends_on = models.ForeignKey(Package, on_delete=models.CASCADE, related_name='package_dependencies_target') # soft dependency
1294 dep_type = models.IntegerField(choices=DEPENDS_TYPE) 1294 dep_type = models.IntegerField(choices=DEPENDS_TYPE)
1295 target = models.ForeignKey(Target, null=True) 1295 target = models.ForeignKey(Target, on_delete=models.CASCADE, null=True)
1296 objects = Package_DependencyManager() 1296 objects = Package_DependencyManager()
1297 1297
1298class Target_Installed_Package(models.Model): 1298class Target_Installed_Package(models.Model):
1299 target = models.ForeignKey(Target) 1299 target = models.ForeignKey(Target, on_delete=models.CASCADE)
1300 package = models.ForeignKey(Package, related_name='buildtargetlist_package') 1300 package = models.ForeignKey(Package, on_delete=models.CASCADE, related_name='buildtargetlist_package')
1301 1301
1302 1302
1303class Package_File(models.Model): 1303class Package_File(models.Model):
1304 package = models.ForeignKey(Package, related_name='buildfilelist_package') 1304 package = models.ForeignKey(Package, on_delete=models.CASCADE, related_name='buildfilelist_package')
1305 path = models.FilePathField(max_length=255, blank=True) 1305 path = models.FilePathField(max_length=255, blank=True)
1306 size = models.IntegerField() 1306 size = models.IntegerField()
1307 1307
@@ -1318,7 +1318,7 @@ class Recipe(models.Model):
1318 1318
1319 name = models.CharField(max_length=100, blank=True) 1319 name = models.CharField(max_length=100, blank=True)
1320 version = models.CharField(max_length=100, blank=True) 1320 version = models.CharField(max_length=100, blank=True)
1321 layer_version = models.ForeignKey('Layer_Version', 1321 layer_version = models.ForeignKey('Layer_Version', on_delete=models.CASCADE,
1322 related_name='recipe_layer_version') 1322 related_name='recipe_layer_version')
1323 summary = models.TextField(blank=True) 1323 summary = models.TextField(blank=True)
1324 description = models.TextField(blank=True) 1324 description = models.TextField(blank=True)
@@ -1356,7 +1356,7 @@ class Recipe_DependencyManager(models.Manager):
1356 1356
1357class Provides(models.Model): 1357class Provides(models.Model):
1358 name = models.CharField(max_length=100) 1358 name = models.CharField(max_length=100)
1359 recipe = models.ForeignKey(Recipe) 1359 recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
1360 1360
1361class Recipe_Dependency(models.Model): 1361class Recipe_Dependency(models.Model):
1362 TYPE_DEPENDS = 0 1362 TYPE_DEPENDS = 0
@@ -1366,9 +1366,9 @@ class Recipe_Dependency(models.Model):
1366 (TYPE_DEPENDS, "depends"), 1366 (TYPE_DEPENDS, "depends"),
1367 (TYPE_RDEPENDS, "rdepends"), 1367 (TYPE_RDEPENDS, "rdepends"),
1368 ) 1368 )
1369 recipe = models.ForeignKey(Recipe, related_name='r_dependencies_recipe') 1369 recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE, related_name='r_dependencies_recipe')
1370 depends_on = models.ForeignKey(Recipe, related_name='r_dependencies_depends') 1370 depends_on = models.ForeignKey(Recipe, on_delete=models.CASCADE, related_name='r_dependencies_depends')
1371 via = models.ForeignKey(Provides, null=True, default=None) 1371 via = models.ForeignKey(Provides, on_delete=models.CASCADE, null=True, default=None)
1372 dep_type = models.IntegerField(choices=DEPENDS_TYPE) 1372 dep_type = models.IntegerField(choices=DEPENDS_TYPE)
1373 objects = Recipe_DependencyManager() 1373 objects = Recipe_DependencyManager()
1374 1374
@@ -1377,7 +1377,7 @@ class Machine(models.Model):
1377 search_allowed_fields = ["name", "description", "layer_version__layer__name"] 1377 search_allowed_fields = ["name", "description", "layer_version__layer__name"]
1378 up_date = models.DateTimeField(null = True, default = None) 1378 up_date = models.DateTimeField(null = True, default = None)
1379 1379
1380 layer_version = models.ForeignKey('Layer_Version') 1380 layer_version = models.ForeignKey('Layer_Version', on_delete=models.CASCADE)
1381 name = models.CharField(max_length=255) 1381 name = models.CharField(max_length=255)
1382 description = models.CharField(max_length=255) 1382 description = models.CharField(max_length=255)
1383 1383
@@ -1408,7 +1408,7 @@ class Release(models.Model):
1408 """ A release is a project template, used to pre-populate Project settings with a configuration set """ 1408 """ A release is a project template, used to pre-populate Project settings with a configuration set """
1409 name = models.CharField(max_length=32, unique = True) 1409 name = models.CharField(max_length=32, unique = True)
1410 description = models.CharField(max_length=255) 1410 description = models.CharField(max_length=255)
1411 bitbake_version = models.ForeignKey(BitbakeVersion) 1411 bitbake_version = models.ForeignKey(BitbakeVersion, on_delete=models.CASCADE)
1412 branch_name = models.CharField(max_length=50, default = "") 1412 branch_name = models.CharField(max_length=50, default = "")
1413 helptext = models.TextField(null=True) 1413 helptext = models.TextField(null=True)
1414 1414
@@ -1419,7 +1419,7 @@ class Release(models.Model):
1419 return self.name 1419 return self.name
1420 1420
1421class ReleaseDefaultLayer(models.Model): 1421class ReleaseDefaultLayer(models.Model):
1422 release = models.ForeignKey(Release) 1422 release = models.ForeignKey(Release, on_delete=models.CASCADE)
1423 layer_name = models.CharField(max_length=100, default="") 1423 layer_name = models.CharField(max_length=100, default="")
1424 1424
1425 1425
@@ -1474,10 +1474,10 @@ class Layer_Version(models.Model):
1474 "layer__description", "layer__vcs_url", 1474 "layer__description", "layer__vcs_url",
1475 "dirpath", "release__name", "commit", "branch"] 1475 "dirpath", "release__name", "commit", "branch"]
1476 1476
1477 build = models.ForeignKey(Build, related_name='layer_version_build', 1477 build = models.ForeignKey(Build, on_delete=models.CASCADE, related_name='layer_version_build',
1478 default=None, null=True) 1478 default=None, null=True)
1479 1479
1480 layer = models.ForeignKey(Layer, related_name='layer_version_layer') 1480 layer = models.ForeignKey(Layer, on_delete=models.CASCADE, related_name='layer_version_layer')
1481 1481
1482 layer_source = models.IntegerField(choices=LayerSource.SOURCE_TYPE, 1482 layer_source = models.IntegerField(choices=LayerSource.SOURCE_TYPE,
1483 default=0) 1483 default=0)
@@ -1485,7 +1485,7 @@ class Layer_Version(models.Model):
1485 up_date = models.DateTimeField(null=True, default=timezone.now) 1485 up_date = models.DateTimeField(null=True, default=timezone.now)
1486 1486
1487 # To which metadata release does this layer version belong to 1487 # To which metadata release does this layer version belong to
1488 release = models.ForeignKey(Release, null=True, default=None) 1488 release = models.ForeignKey(Release, on_delete=models.CASCADE, null=True, default=None)
1489 1489
1490 branch = models.CharField(max_length=80) 1490 branch = models.CharField(max_length=80)
1491 commit = models.CharField(max_length=100) 1491 commit = models.CharField(max_length=100)
@@ -1499,7 +1499,7 @@ class Layer_Version(models.Model):
1499 local_path = models.FilePathField(max_length=1024, default="/") 1499 local_path = models.FilePathField(max_length=1024, default="/")
1500 1500
1501 # Set if this layer is restricted to a particular project 1501 # Set if this layer is restricted to a particular project
1502 project = models.ForeignKey('Project', null=True, default=None) 1502 project = models.ForeignKey('Project', on_delete=models.CASCADE, null=True, default=None)
1503 1503
1504 # code lifted, with adaptations, from the layerindex-web application 1504 # code lifted, with adaptations, from the layerindex-web application
1505 # https://git.yoctoproject.org/cgit/cgit.cgi/layerindex-web/ 1505 # https://git.yoctoproject.org/cgit/cgit.cgi/layerindex-web/
@@ -1608,14 +1608,14 @@ class Layer_Version(models.Model):
1608 1608
1609class LayerVersionDependency(models.Model): 1609class LayerVersionDependency(models.Model):
1610 1610
1611 layer_version = models.ForeignKey(Layer_Version, 1611 layer_version = models.ForeignKey(Layer_Version, on_delete=models.CASCADE,
1612 related_name="dependencies") 1612 related_name="dependencies")
1613 depends_on = models.ForeignKey(Layer_Version, 1613 depends_on = models.ForeignKey(Layer_Version, on_delete=models.CASCADE,
1614 related_name="dependees") 1614 related_name="dependees")
1615 1615
1616class ProjectLayer(models.Model): 1616class ProjectLayer(models.Model):
1617 project = models.ForeignKey(Project) 1617 project = models.ForeignKey(Project, on_delete=models.CASCADE)
1618 layercommit = models.ForeignKey(Layer_Version, null=True) 1618 layercommit = models.ForeignKey(Layer_Version, on_delete=models.CASCADE, null=True)
1619 optional = models.BooleanField(default = True) 1619 optional = models.BooleanField(default = True)
1620 1620
1621 def __unicode__(self): 1621 def __unicode__(self):
@@ -1630,8 +1630,8 @@ class CustomImageRecipe(Recipe):
1630 LAYER_NAME = "toaster-custom-images" 1630 LAYER_NAME = "toaster-custom-images"
1631 1631
1632 search_allowed_fields = ['name'] 1632 search_allowed_fields = ['name']
1633 base_recipe = models.ForeignKey(Recipe, related_name='based_on_recipe') 1633 base_recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE, related_name='based_on_recipe')
1634 project = models.ForeignKey(Project) 1634 project = models.ForeignKey(Project, on_delete=models.CASCADE)
1635 last_updated = models.DateTimeField(null=True, default=None) 1635 last_updated = models.DateTimeField(null=True, default=None)
1636 1636
1637 def get_last_successful_built_target(self): 1637 def get_last_successful_built_target(self):
@@ -1784,14 +1784,14 @@ class CustomImageRecipe(Recipe):
1784 return recipe_contents 1784 return recipe_contents
1785 1785
1786class ProjectVariable(models.Model): 1786class ProjectVariable(models.Model):
1787 project = models.ForeignKey(Project) 1787 project = models.ForeignKey(Project, on_delete=models.CASCADE)
1788 name = models.CharField(max_length=100) 1788 name = models.CharField(max_length=100)
1789 value = models.TextField(blank = True) 1789 value = models.TextField(blank = True)
1790 1790
1791class Variable(models.Model): 1791class Variable(models.Model):
1792 search_allowed_fields = ['variable_name', 'variable_value', 1792 search_allowed_fields = ['variable_name', 'variable_value',
1793 'vhistory__file_name', "description"] 1793 'vhistory__file_name', "description"]
1794 build = models.ForeignKey(Build, related_name='variable_build') 1794 build = models.ForeignKey(Build, on_delete=models.CASCADE, related_name='variable_build')
1795 variable_name = models.CharField(max_length=100) 1795 variable_name = models.CharField(max_length=100)
1796 variable_value = models.TextField(blank=True) 1796 variable_value = models.TextField(blank=True)
1797 changed = models.BooleanField(default=False) 1797 changed = models.BooleanField(default=False)
@@ -1799,7 +1799,7 @@ class Variable(models.Model):
1799 description = models.TextField(blank=True) 1799 description = models.TextField(blank=True)
1800 1800
1801class VariableHistory(models.Model): 1801class VariableHistory(models.Model):
1802 variable = models.ForeignKey(Variable, related_name='vhistory') 1802 variable = models.ForeignKey(Variable, on_delete=models.CASCADE, related_name='vhistory')
1803 value = models.TextField(blank=True) 1803 value = models.TextField(blank=True)
1804 file_name = models.FilePathField(max_length=255) 1804 file_name = models.FilePathField(max_length=255)
1805 line_number = models.IntegerField(null=True) 1805 line_number = models.IntegerField(null=True)
@@ -1809,7 +1809,7 @@ class HelpText(models.Model):
1809 VARIABLE = 0 1809 VARIABLE = 0
1810 HELPTEXT_AREA = ((VARIABLE, 'variable'), ) 1810 HELPTEXT_AREA = ((VARIABLE, 'variable'), )
1811 1811
1812 build = models.ForeignKey(Build, related_name='helptext_build') 1812 build = models.ForeignKey(Build, on_delete=models.CASCADE, related_name='helptext_build')
1813 area = models.IntegerField(choices=HELPTEXT_AREA) 1813 area = models.IntegerField(choices=HELPTEXT_AREA)
1814 key = models.CharField(max_length=100) 1814 key = models.CharField(max_length=100)
1815 text = models.TextField() 1815 text = models.TextField()
@@ -1829,8 +1829,8 @@ class LogMessage(models.Model):
1829 (EXCEPTION, "toaster exception") 1829 (EXCEPTION, "toaster exception")
1830 ) 1830 )
1831 1831
1832 build = models.ForeignKey(Build) 1832 build = models.ForeignKey(Build, on_delete=models.CASCADE)
1833 task = models.ForeignKey(Task, blank = True, null=True) 1833 task = models.ForeignKey(Task, on_delete=models.CASCADE, blank = True, null=True)
1834 level = models.IntegerField(choices=LOG_LEVEL, default=INFO) 1834 level = models.IntegerField(choices=LOG_LEVEL, default=INFO)
1835 message = models.TextField(blank=True, null=True) 1835 message = models.TextField(blank=True, null=True)
1836 pathname = models.FilePathField(max_length=255, blank=True) 1836 pathname = models.FilePathField(max_length=255, blank=True)
@@ -1859,7 +1859,7 @@ class Distro(models.Model):
1859 search_allowed_fields = ["name", "description", "layer_version__layer__name"] 1859 search_allowed_fields = ["name", "description", "layer_version__layer__name"]
1860 up_date = models.DateTimeField(null = True, default = None) 1860 up_date = models.DateTimeField(null = True, default = None)
1861 1861
1862 layer_version = models.ForeignKey('Layer_Version') 1862 layer_version = models.ForeignKey('Layer_Version', on_delete=models.CASCADE)
1863 name = models.CharField(max_length=255) 1863 name = models.CharField(max_length=255)
1864 description = models.CharField(max_length=255) 1864 description = models.CharField(max_length=255)
1865 1865