diff options
| author | Elliot Smith <elliot.smith@intel.com> | 2016-04-19 17:28:42 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-04-19 21:11:25 +0100 |
| commit | 437b728a9f138f5109227b027474a3c26fc7f81f (patch) | |
| tree | 4a6f73c977c1ed0b10f1b1144846d12b77286fbc /bitbake/lib/toaster/orm/models.py | |
| parent | cfc22d3a9e2434fb5b9001850c19617dda6d57aa (diff) | |
| download | poky-437b728a9f138f5109227b027474a3c26fc7f81f.tar.gz | |
bitbake: toaster: prevent exception when Project.release is null
Project.release can be null. This causes an exception when calling
get_all_compatible_layer_versions(), as the query to fetch
the layer versions references release.branch_name.
Add a guard to the function so that an empty queryset is returned
if the release isn't set for a project.
(Bitbake rev: 6919a2b2e412a9e7b652a6bc191e7c1bed035222)
Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Michael Wood <michael.g.wood@intel.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 | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py index 68c3072991..f0a8786640 100644 --- a/bitbake/lib/toaster/orm/models.py +++ b/bitbake/lib/toaster/orm/models.py | |||
| @@ -264,11 +264,17 @@ class Project(models.Model): | |||
| 264 | def get_all_compatible_layer_versions(self): | 264 | def get_all_compatible_layer_versions(self): |
| 265 | """ Returns Queryset of all Layer_Versions which are compatible with | 265 | """ Returns Queryset of all Layer_Versions which are compatible with |
| 266 | this project""" | 266 | this project""" |
| 267 | queryset = Layer_Version.objects.filter( | 267 | queryset = None |
| 268 | (Q(up_branch__name=self.release.branch_name) & | 268 | |
| 269 | Q(build=None) & | 269 | # guard on release, as it can be null |
| 270 | Q(project=None)) | | 270 | if self.release: |
| 271 | Q(project=self)) | 271 | queryset = Layer_Version.objects.filter( |
| 272 | (Q(up_branch__name=self.release.branch_name) & | ||
| 273 | Q(build=None) & | ||
| 274 | Q(project=None)) | | ||
| 275 | Q(project=self)) | ||
| 276 | else: | ||
| 277 | queryset = Layer_Version.objects.none() | ||
| 272 | 278 | ||
| 273 | return queryset | 279 | return queryset |
| 274 | 280 | ||
