diff options
author | David Reyna <David.Reyna@windriver.com> | 2020-03-25 21:24:55 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-03-29 20:02:36 +0100 |
commit | 4dabdbe11ddc47a885c7f8cc6b3f26439d40d77c (patch) | |
tree | 1cfd3f48830d5688e65c283c181767d74a951358 /bitbake/lib/toaster/orm/models.py | |
parent | 7e252ef31094f760b5666aec9b2205166a8ccbd2 (diff) | |
download | poky-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.py | 98 |
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 | |||
13 | from django.utils import timezone | 13 | from django.utils import timezone |
14 | from django.utils.encoding import force_bytes | 14 | from django.utils.encoding import force_bytes |
15 | 15 | ||
16 | from django.core.urlresolvers import reverse | 16 | from django.urls import reverse |
17 | 17 | ||
18 | from django.core import validators | 18 | from django.core import validators |
19 | from django.conf import settings | 19 | from 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 | ||
779 | class ProjectTarget(models.Model): | 779 | class 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 | ||
784 | class Target(models.Model): | 784 | class 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* |
946 | class TargetKernelFile(models.Model): | 946 | class 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 |
956 | class TargetSDKFile(models.Model): | 956 | class 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 | ||
1021 | class Task(models.Model): | 1021 | class 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 | ||
1149 | class Task_Dependency(models.Model): | 1149 | class 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 | ||
1153 | class Package(models.Model): | 1153 | class 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 | ||
1298 | class Target_Installed_Package(models.Model): | 1298 | class 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 | ||
1303 | class Package_File(models.Model): | 1303 | class 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 | ||
1357 | class Provides(models.Model): | 1357 | class 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 | ||
1361 | class Recipe_Dependency(models.Model): | 1361 | class 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 | ||
1421 | class ReleaseDefaultLayer(models.Model): | 1421 | class 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 | ||
1609 | class LayerVersionDependency(models.Model): | 1609 | class 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 | ||
1616 | class ProjectLayer(models.Model): | 1616 | class 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 | ||
1786 | class ProjectVariable(models.Model): | 1786 | class 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 | ||
1791 | class Variable(models.Model): | 1791 | class 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 | ||
1801 | class VariableHistory(models.Model): | 1801 | class 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 | ||