rafalp/Misago

Replace thread queryset plugin hooks used by thread detail view and private thread detail views

Open

#2,078 opened on 2026年5月17日

GitHub で見る
 (0 comments) (0 reactions) (0 assignees)Python (2,409 stars) (509 forks)batch import
area: backendfeature: extensionsfeature: thread pagehelp wanted

説明

Those functions no longer exist on thread detail views:

  • get_thread_queryset
  • get_private_thread_queryset

Instead, we should implement get_thread_detail_view_select_related and get_private_thread_detail_view_select_related hooks that will take HttpRequest as only argument and return list[str].

DetailView should be updated to implement get_thread_select_related method:

def get_thread_select_related(self, request: HttpRequest) -> list[str]:
    return ["category"]

In ThreadDetailView:

def get_thread_select_related(self, request: HttpRequest) -> list[str]:
    return get_thread_detail_view_select_related_hook(super().get_thread_select_related, request)

In PrivateThreadDetailView:

def get_thread_select_related(self, request: HttpRequest) -> list[str]:
    return get_private_thread_detail_view_select_related_hook(super().get_thread_select_related, request)

get_thread calls in those detail views should be updated to self.get_thread(..., select_Related=self.get_thread_select_related(request))

コントリビューターガイド

Replace thread queryset plugin hooks used by thread detail view and private thread detail views · rafalp/Misago#2078 | Good First Issue