diff --git a/bookwyrm/models/base_model.py b/bookwyrm/models/base_model.py index 1e147b5e0..fd70fc17f 100644 --- a/bookwyrm/models/base_model.py +++ b/bookwyrm/models/base_model.py @@ -167,12 +167,7 @@ class BookWyrmModel(models.Model): @classmethod def direct_filter(cls, queryset, viewer): """Override-able filter for "direct" privacy level""" - try: - return queryset.exclude( - ~Q(Q(user=viewer) | Q(mention_users=viewer)), privacy="direct" - ) - except FieldError: - return queryset.exclude(~Q(user=viewer), privacy="direct") + return queryset.exclude(~Q(user=viewer), privacy="direct") @receiver(models.signals.post_save) diff --git a/bookwyrm/models/status.py b/bookwyrm/models/status.py index 58488123e..3e5f638f5 100644 --- a/bookwyrm/models/status.py +++ b/bookwyrm/models/status.py @@ -207,6 +207,13 @@ class Status(OrderedCollectionPageMixin, BookWyrmModel): if isinstance(self, (GeneratedNote, ReviewRating)): raise PermissionDenied() + @classmethod + def direct_filter(cls, queryset, viewer): + """Override-able filter for "direct" privacy level""" + return queryset.exclude( + ~Q(Q(user=viewer) | Q(mention_users=viewer)), privacy="direct" + ) + class GeneratedNote(Status): """these are app-generated messages about user activity"""