From 6962b39fc9057aa7865dea9a4e75daab90ad7a0f Mon Sep 17 00:00:00 2001 From: thomas girod Date: Mon, 2 Sep 2024 01:03:15 +0200 Subject: [PATCH] use typing.Self for custom queryset methods --- club/models.py | 8 ++++---- counter/models.py | 1 - sas/models.py | 5 +++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/club/models.py b/club/models.py index 6baba7bd..24e75f34 100644 --- a/club/models.py +++ b/club/models.py @@ -23,6 +23,8 @@ # from __future__ import annotations +from typing import Self + from django.conf import settings from django.core import validators from django.core.cache import cache @@ -265,12 +267,11 @@ class Club(models.Model): class MembershipQuerySet(models.QuerySet): - def ongoing(self) -> "MembershipQuerySet": + def ongoing(self) -> Self: """Filter all memberships which are not finished yet.""" - # noinspection PyTypeChecker return self.filter(Q(end_date=None) | Q(end_date__gte=timezone.now())) - def board(self) -> "MembershipQuerySet": + def board(self) -> Self: """Filter all memberships where the user is/was in the board. Be aware that users who were in the board in the past @@ -279,7 +280,6 @@ class MembershipQuerySet(models.QuerySet): If you want to get the users who are currently in the board, mind combining this with the :meth:`ongoing` queryset method """ - # noinspection PyTypeChecker return self.filter(role__gt=settings.SITH_MAXIMUM_FREE_ROLE) def update(self, **kwargs): diff --git a/counter/models.py b/counter/models.py index d9dca99a..539eb052 100644 --- a/counter/models.py +++ b/counter/models.py @@ -362,7 +362,6 @@ class CounterQuerySet(models.QuerySet): ``` """ subquery = user.counters.filter(pk=OuterRef("pk")) - # noinspection PyTypeChecker return self.annotate(has_annotated_barman=Exists(subquery)) diff --git a/sas/models.py b/sas/models.py index fbe10223..c599bf09 100644 --- a/sas/models.py +++ b/sas/models.py @@ -16,6 +16,7 @@ from __future__ import annotations from io import BytesIO +from typing import Self from django.conf import settings from django.core.cache import cache @@ -61,7 +62,7 @@ class SasFile(SithFile): class PictureQuerySet(models.QuerySet): - def viewable_by(self, user: User) -> PictureQuerySet: + def viewable_by(self, user: User) -> Self: """Filter the pictures that this user can view. Warnings: @@ -173,7 +174,7 @@ class Picture(SasFile): class AlbumQuerySet(models.QuerySet): - def viewable_by(self, user: User) -> PictureQuerySet: + def viewable_by(self, user: User) -> Self: """Filter the albums that this user can view. Warnings: