From 3a2db10895aabe91c3d91534fe854c618f4ee22b Mon Sep 17 00:00:00 2001 From: Dario Del Piano Date: Mon, 26 Aug 2019 23:38:10 +0100 Subject: [PATCH] fixed various issues with filters, import path default empty string, import path filter per empty string and null removed from compatibility, other minors --- scidash/sciunitmodels/api/views.py | 3 ++- scidash/sciunitmodels/filters.py | 2 +- scidash/sciunitmodels/models.py | 2 +- scidash/sciunittests/filters.py | 2 ++ 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/scidash/sciunitmodels/api/views.py b/scidash/sciunitmodels/api/views.py index 7ead2a71..5a4e8aa2 100644 --- a/scidash/sciunitmodels/api/views.py +++ b/scidash/sciunitmodels/api/views.py @@ -27,7 +27,8 @@ class CapabilityViewSet(viewsets.ReadOnlyModelViewSet): class ModelClassViewSet(viewsets.ReadOnlyModelViewSet): - queryset = ModelClass.objects.filter(~Q(import_path='')) + queryset = ModelClass.objects.filter( + ~Q(import_path='') & Q(import_path__isnull=False)) serializer_class = ModelClassSerializer permission_classes = (permissions.AllowAny, ) filter_class = ModelClassFilter diff --git a/scidash/sciunitmodels/filters.py b/scidash/sciunitmodels/filters.py index 586db403..3ec864d6 100644 --- a/scidash/sciunitmodels/filters.py +++ b/scidash/sciunitmodels/filters.py @@ -58,7 +58,7 @@ def filter_from_github(self, url: str, queryset): helpers.download_and_save_model(model_path, url) model_classes = models.ModelClass.objects.filter( - ~Q(import_path='') + ~Q(import_path='') & Q(import_path__isnull=False) ) matching_classes = [ diff --git a/scidash/sciunitmodels/models.py b/scidash/sciunitmodels/models.py index 97cea178..dd3d438b 100644 --- a/scidash/sciunitmodels/models.py +++ b/scidash/sciunitmodels/models.py @@ -49,7 +49,7 @@ class ModelClass(models.Model): Capability, through=ExtraCapabilityModelThrough, blank=True ) url = models.URLField(default='', null=True, blank=True, unique=True) - import_path = models.TextField(null=True, blank=True) + import_path = models.TextField(default='', null=True, blank=True) memo = models.TextField(null=True, blank=True) def populate_capabilities(self): diff --git a/scidash/sciunittests/filters.py b/scidash/sciunittests/filters.py index b2fb3dbd..a75e2753 100644 --- a/scidash/sciunittests/filters.py +++ b/scidash/sciunittests/filters.py @@ -57,6 +57,8 @@ class ScoreFilter(filters.FilterSet): score_type = filters.CharFilter(name='score_type', lookup_expr='icontains') + score_class = filters.CharFilter(name='score_class__class_name', lookup_expr='icontains') + build_info = filters.CharFilter( name='test_instance__build_info', lookup_expr='icontains' )