From dcdfb086edb022b5ec0790a1a902fd5332d6600f Mon Sep 17 00:00:00 2001 From: TitouanDor Date: Tue, 23 Jun 2026 22:56:51 +0200 Subject: [PATCH] ajout club dans select_related() --- club/api.py | 4 ++-- club/tests/test_club_membership_controller.py | 13 +++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/club/api.py b/club/api.py index 150bf487..cf1070d0 100644 --- a/club/api.py +++ b/club/api.py @@ -79,7 +79,7 @@ class ClubMembershipController(ControllerBase): memberships = ( Membership.objects.ongoing() .filter(start_date__gte=filters.since_date, end_date__isnull=True) - .select_related("user", "role") + .select_related("user", "role", "club") ) if filters.clubs_id: memberships = memberships.filter(club_id__in=filters.clubs_id) @@ -98,7 +98,7 @@ class ClubMembershipController(ControllerBase): memberships = Membership.objects.filter( start_date__lt=filters.since_date, end_date__gte=filters.since_date, - ).select_related("user", "role") + ).select_related("user", "role", "club") if filters.clubs_id: memberships = memberships.filter(club_id__in=filters.clubs_id) diff --git a/club/tests/test_club_membership_controller.py b/club/tests/test_club_membership_controller.py index 82e1afa0..27aee901 100644 --- a/club/tests/test_club_membership_controller.py +++ b/club/tests/test_club_membership_controller.py @@ -19,6 +19,7 @@ class TestMembershipAPI(TestCase): cls.user.user_permissions.add(perm) cls.clubs = baker.make(Club, _quantity=3, is_active=True) cls.roles = baker.make(ClubRole, _quantity=3, is_active=True) + cls.expectedNumQueries = 5 # Clean existing data to avoid side effects Membership.objects.all().delete() @@ -105,7 +106,7 @@ class TestNewMembershipAPI(TestMembershipAPI): self.client.force_login(self.user) since_date = localdate() - timedelta(weeks=1) arg = {"since_date": since_date, "clubs_id": self.clubs[0].id} - with self.assertNumQueries(6): + with self.assertNumQueries(self.expectedNumQueries): response = self.client.get(self.url, query_params=arg) assert response.status_code == 200 data = response.json() @@ -121,7 +122,7 @@ class TestNewMembershipAPI(TestMembershipAPI): "since_date": since_date, "clubs_id": [self.clubs[0].id, self.clubs[1].id], } - with self.assertNumQueries(7): + with self.assertNumQueries(self.expectedNumQueries): response = self.client.get(self.url, query_params=arg) assert response.status_code == 200 data = response.json() @@ -134,7 +135,7 @@ class TestNewMembershipAPI(TestMembershipAPI): self.client.force_login(self.user) since_date = localdate() - timedelta(weeks=1) arg = {"since_date": since_date} - with self.assertNumQueries(8): + with self.assertNumQueries(self.expectedNumQueries): response = self.client.get(self.url, query_params=arg) assert response.status_code == 200 data = response.json() @@ -158,7 +159,7 @@ class TestFormerMembershipAPI(TestMembershipAPI): self.client.force_login(self.user) since_date = localdate() - timedelta(weeks=1) arg = {"since_date": since_date, "clubs_id": self.clubs[1].id} - with self.assertNumQueries(6): + with self.assertNumQueries(self.expectedNumQueries): response = self.client.get(self.url, query_params=arg) assert response.status_code == 200 @@ -175,7 +176,7 @@ class TestFormerMembershipAPI(TestMembershipAPI): "since_date": since_date, "clubs_id": [self.clubs[1].id, self.clubs[0].id], } - with self.assertNumQueries(7): + with self.assertNumQueries(self.expectedNumQueries): response = self.client.get(self.url, query_params=arg) assert response.status_code == 200 data = response.json() @@ -188,7 +189,7 @@ class TestFormerMembershipAPI(TestMembershipAPI): self.client.force_login(self.user) since_date = localdate() - timedelta(weeks=1) arg = {"since_date": since_date} - with self.assertNumQueries(8): + with self.assertNumQueries(self.expectedNumQueries): response = self.client.get(self.url, query_params=arg) assert response.status_code == 200 data = response.json()