Skip to content

Commit e07bb06

Browse files
committed
Merge branch 'devdev' into feature/timetable
2 parents bbc1665 + 304bf59 commit e07bb06

File tree

6 files changed

+82
-4
lines changed

6 files changed

+82
-4
lines changed

pyconweb2022/sponsor/admin.py

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

7171

7272
# admin.site.register(SponsorProxyModel, SponsorAdmin4Modusign)
73+
74+
75+
class PersonalSponsorship(ImportExportModelAdmin):
76+
list_display = (
77+
"name",
78+
"amount",
79+
)
80+
ordering = ("-amount",)
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Generated by Django 4.0.2 on 2022-09-18 21:22
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
("sponsor", "0005_sponsor_eng_desc"),
10+
]
11+
12+
operations = [
13+
migrations.CreateModel(
14+
name="PersonalSponsorship",
15+
fields=[
16+
(
17+
"id",
18+
models.BigAutoField(
19+
auto_created=True,
20+
primary_key=True,
21+
serialize=False,
22+
verbose_name="ID",
23+
),
24+
),
25+
("name", models.CharField(max_length=50)),
26+
("amount", models.IntegerField()),
27+
],
28+
options={
29+
"ordering": ["amount"],
30+
},
31+
),
32+
]

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: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55

66
def get_router():
77
router = DefaultRouter()
8+
router.register(
9+
"personal", PersonalSponsorshipViewSet, basename="personal_sponsorship"
10+
)
811
router.register("", SponsorViewSet, basename="sponsor")
912

1013
return router

pyconweb2022/sponsor/serializers.py

Lines changed: 17 additions & 2 deletions
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):
@@ -12,4 +12,19 @@ class Meta:
1212
class SponsorListSerializer(ModelSerializer):
1313
class Meta:
1414
model = Sponsor
15-
fields = ["slug", "name", "level", "desc", "eng_desc", "url", "logo_image"]
15+
fields = [
16+
"slug",
17+
"name",
18+
"level",
19+
"desc",
20+
"eng_desc",
21+
"url",
22+
"logo_image",
23+
"id",
24+
]
25+
26+
27+
class PersonalSponsorshipSerializer(ModelSerializer):
28+
class Meta:
29+
model = PersonalSponsorship
30+
fields = ["name"]

pyconweb2022/sponsor/viewsets.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,12 @@
55
from rest_framework.permissions import IsAuthenticatedOrReadOnly, AllowAny
66
from rest_framework.response import Response
77

8-
from sponsor.serializers import SponsorSerializer, SponsorListSerializer
9-
from sponsor.models import Sponsor
8+
from sponsor.serializers import (
9+
SponsorSerializer,
10+
SponsorListSerializer,
11+
PersonalSponsorshipSerializer,
12+
)
13+
from sponsor.models import Sponsor, PersonalSponsorship
1014

1115

1216
class SponsorViewSet(ReadOnlyModelViewSet):
@@ -27,3 +31,11 @@ def retrieve(self, request, *args, **kwargs):
2731

2832
serializer = SponsorSerializer(sponsor_data)
2933
return Response(serializer.data)
34+
35+
36+
class PersonalSponsorshipViewSet(ReadOnlyModelViewSet):
37+
serializer_class = PersonalSponsorshipSerializer
38+
permission_classes = [AllowAny]
39+
40+
def get_queryset(self):
41+
return PersonalSponsorship.objects.all().order_by("-amount")

0 commit comments

Comments
 (0)