Skip to content

Commit 8076f05

Browse files
committed
Program / Session year 쿼리 적용
1 parent 868657b commit 8076f05

File tree

3 files changed

+27
-27
lines changed

3 files changed

+27
-27
lines changed

program/viewsets.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,24 @@
11
from rest_framework.permissions import IsAuthenticatedOrReadOnly
22
from rest_framework.viewsets import ReadOnlyModelViewSet
33

4-
from program.models import Program
54
from program import models
5+
from program.models import Program
66
from program.serializers import ProgramSerializer
77

88

99
class SprintListViewSet(ReadOnlyModelViewSet):
10-
queryset = Program.objects.filter(program_type=models.SPRINT).order_by("start_at").order_by("title")
10+
queryset = Program.objects.filter(program_type=models.SPRINT).order_by("start_at", "title")
1111
permission_classes = [IsAuthenticatedOrReadOnly]
12-
http_method_names = ["get"]
1312
serializer_class = ProgramSerializer
1413

14+
def get_queryset(self):
15+
return super().get_queryset().filter(year=self.request.version or 2023)
16+
1517

1618
class TutorialListViewSet(ReadOnlyModelViewSet):
17-
queryset = Program.objects.filter(program_type=models.TUTORIAL).order_by("start_at").order_by("title")
19+
queryset = Program.objects.filter(program_type=models.TUTORIAL).order_by("start_at", "title")
1820
permission_classes = [IsAuthenticatedOrReadOnly]
19-
http_method_names = ["get"]
2021
serializer_class = ProgramSerializer
22+
23+
def get_queryset(self):
24+
return super().get_queryset().filter(year=self.request.version or 2023)

pyconkr/urls.py

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -15,32 +15,25 @@
1515
"""
1616
from django.conf import settings
1717
from django.contrib import admin
18-
from django.urls import include, path
19-
from drf_spectacular.views import (
20-
SpectacularAPIView,
21-
SpectacularRedocView,
22-
SpectacularSwaggerView,
23-
)
24-
from rest_framework.routers import DefaultRouter
18+
from django.urls import include, path, re_path
19+
from drf_spectacular.views import SpectacularAPIView, SpectacularRedocView, SpectacularSwaggerView
2520

26-
import payment.urls
27-
import sponsor.urls
28-
import status.urls
29-
import ticket.urls
21+
import accounts.urls
22+
import program.urls
3023
import session.urls
31-
24+
import sponsor.urls
3225

3326
urlpatterns = [
34-
path("api-auth/", include("rest_framework.urls")),
35-
path("summernote/", include("django_summernote.urls")),
36-
path("admin/", admin.site.urls),
37-
path("sponsors/", include(sponsor.urls)),
38-
path("programs/", include("program.urls")),
39-
path("statuses/", include(status.urls)),
40-
path("tickets/", include(ticket.urls)),
41-
path("payments/", include(payment.urls)),
42-
path("sessions/", include(session.urls)),
43-
path("", include("accounts.urls")),
27+
path(kwargs={"version": "2023"}, route="sponsors/", view=include(sponsor.urls)),
28+
path(kwargs={"version": "2023"}, route="programs/", view=include(program.urls)),
29+
path(kwargs={"version": "2023"}, route="sessions/", view=include(session.urls)),
30+
re_path(route="^(?P<version>(2023|2024))/sponsors/", view=include(sponsor.urls)),
31+
re_path(route="^(?P<version>(2023|2024))/programs/", view=include(program.urls)),
32+
re_path(route="^(?P<version>(2023|2024))/sessions/", view=include(session.urls)),
33+
path(route="summernote/", view=include("django_summernote.urls")),
34+
path(route="api-auth/", view=include("rest_framework.urls")),
35+
path(route="admin/", view=admin.site.urls),
36+
path(route="", view=include(accounts.urls)),
4437
]
4538

4639
if settings.DEBUG is True:

session/viewsets.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,6 @@ def get_serializer_class(self):
1515
return SessionListSerializer
1616
else:
1717
return SessionSerializer
18+
19+
def get_queryset(self):
20+
return super().get_queryset().filter(category__year=self.request.version)

0 commit comments

Comments
 (0)