Skip to content

Commit 4c78609

Browse files
committed
Update: ㄴ나이도, 카테코리, 언어 필드를 코드 -> 코드값으로 수정
1 parent 1383bf2 commit 4c78609

File tree

2 files changed

+34
-4
lines changed

2 files changed

+34
-4
lines changed

pyconweb2022/program/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ class Proposal(models.Model):
4545

4646
# TODO: 다국어 기능 추가
4747
language = models.CharField(
48-
max_length=1,
48+
max_length=2,
4949
choices=(
5050
("", "---------"),
5151
("K", "한글"),

pyconweb2022/program/serializers.py

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,19 @@
1-
from rest_framework.serializers import ModelSerializer
1+
from rest_framework import serializers
22

33
from program.models import Proposal, ProgramCategory
44

55

66
# 홈페이지 출력용
7-
class ProposalSerializer(ModelSerializer):
7+
class ProposalSerializer(serializers.ModelSerializer):
8+
category = serializers.SlugRelatedField(
9+
many=False,
10+
read_only=True,
11+
slug_field="name"
12+
)
13+
14+
difficulty = serializers.SerializerMethodField()
15+
language = serializers.SerializerMethodField()
16+
817
class Meta:
918
model = Proposal
1019
fields = [
@@ -19,11 +28,32 @@ class Meta:
1928
"slide_url",
2029
"video_open_at",
2130
"track_num",
31+
"category"
2232
]
2333

34+
def get_difficulty(self, obj:Proposal):
35+
if obj.difficulty == "B":
36+
return "초급"
37+
38+
if obj.difficulty == "I":
39+
return "중급"
40+
41+
if obj.difficulty == "E":
42+
return "고급"
43+
44+
def get_language(self, obj:Proposal):
45+
if obj.language == "":
46+
return ""
47+
48+
if obj.language == "K":
49+
return "ko"
50+
51+
if obj.language == "E":
52+
return "en"
53+
2454

2555
# 작성자를 위한 모델 전체 기능
26-
class ProposalDetailSerializer(ModelSerializer):
56+
class ProposalDetailSerializer(serializers.ModelSerializer):
2757
class Meta:
2858
model = Proposal
2959
fields = "__all__"

0 commit comments

Comments
 (0)