diff --git a/entries/views.py b/entries/views.py index c9486c9594fa62cc462d07018537a3219ad86582..98177cd00e0078151bf89a2a7d7061354cf1f7d1 100644 --- a/entries/views.py +++ b/entries/views.py @@ -468,7 +468,7 @@ def get_entries(request): ) ) if exclude_status is not None: - entries = entries.filter(lexical_units__frames__status__iexact=exclude_status) + entries = entries.exclude(lexical_units__frames__status=exclude_status) entries = entries.filter(lexical_units__frames__isnull=False) if has_unified_frame == 'true': entries = entries.filter(lexical_units__frames__slowal_frame_2_unified_frame__isnull=False) @@ -481,7 +481,9 @@ def get_entries(request): def iter_lexical_units(e): for lu in e.lexical_units.all(): lu._frame = lu._frames[0] if lu._frames and len(lu._frames) > 0 else None - if lu._frame is None or (not hasattr(lu._frame, 'slowal_frame_2_unified_frame') and has_unified_frame == 'true'): + if lu._frame is None or \ + (not hasattr(lu._frame, 'slowal_frame_2_unified_frame') and has_unified_frame == 'true') or \ + (exclude_status is not None and lu._frame.status == exclude_status): continue else: yield lu