Skip to content

Commit d305958

Browse files
committed
Feature: 개인후원 관련 API 작성
1 parent ce845de commit d305958

File tree

5 files changed

+26
-2
lines changed

5 files changed

+26
-2
lines changed

pyconweb2022/sponsor/admin.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,7 @@ def get_queryset(self, request):
7070

7171

7272
# admin.site.register(SponsorProxyModel, SponsorAdmin4Modusign)
73+
74+
class PersonalSponsorship(ImportExportModelAdmin):
75+
list_display = ("name", "amount",)
76+
ordering = ("-amount",)

pyconweb2022/sponsor/models.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,3 +141,11 @@ def __str__(self):
141141

142142
def get_absolute_url(self):
143143
return reverse("sponsor", args=[self.pk])
144+
145+
146+
class PersonalSponsorship(models.Model):
147+
class Meta:
148+
ordering = ["amount"]
149+
150+
name = models.CharField(max_length=50)
151+
amount = models.IntegerField()

pyconweb2022/sponsor/routers.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
def get_router():
77
router = DefaultRouter()
8+
router.register("personal", PersonalSponsorshipViewSet, basename="personal_sponsorship")
89
router.register("", SponsorViewSet, basename="sponsor")
910

1011
return router

pyconweb2022/sponsor/serializers.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from rest_framework.serializers import ModelSerializer
22

3-
from sponsor.models import Sponsor
3+
from sponsor.models import Sponsor, PersonalSponsorship
44

55

66
class SponsorSerializer(ModelSerializer):
@@ -22,3 +22,9 @@ class Meta:
2222
"logo_image",
2323
"id",
2424
]
25+
26+
27+
class PersonalSponsorship(ModelSerializer):
28+
class Meta:
29+
model = PersonalSponsorship
30+
fields = ["name"]

pyconweb2022/sponsor/viewsets.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from rest_framework.permissions import IsAuthenticatedOrReadOnly, AllowAny
66
from rest_framework.response import Response
77

8-
from sponsor.serializers import SponsorSerializer, SponsorListSerializer
8+
from sponsor.serializers import SponsorSerializer, SponsorListSerializer, PersonalSponsorship
99
from sponsor.models import Sponsor
1010

1111

@@ -27,3 +27,8 @@ def retrieve(self, request, *args, **kwargs):
2727

2828
serializer = SponsorSerializer(sponsor_data)
2929
return Response(serializer.data)
30+
31+
32+
class PersonalSponsorshipViewSet(ReadOnlyModelViewSet):
33+
serializer_class = PersonalSponsorship
34+
permission_classes = [AllowAny]

0 commit comments

Comments
 (0)