File tree Expand file tree Collapse file tree 2 files changed +30
-6
lines changed Expand file tree Collapse file tree 2 files changed +30
-6
lines changed Original file line number Diff line number Diff line change
1
+ from django .contrib .auth import get_user_model
2
+
3
+ import rest_framework .serializers as serializers
4
+
5
+ User = get_user_model ()
6
+
7
+
8
+ class UserSerializer (serializers .ModelSerializer ):
9
+ nickname = serializers .SerializerMethodField ()
10
+ bio = serializers .SerializerMethodField ()
11
+
12
+ class Meta :
13
+ model = User
14
+ fields = [
15
+ "nickname" ,
16
+ "bio"
17
+ ]
18
+
19
+ @staticmethod
20
+ def get_nickname (obj : User ):
21
+ return "{}{}" .format (obj .last_name , obj .first_name )
22
+
23
+ @staticmethod
24
+ def get_bio (obj : User ):
25
+ return obj .userext .bio
Original file line number Diff line number Diff line change 1
1
from rest_framework import serializers
2
2
3
3
from program .models import Proposal , ProposalCategory
4
+ from accounts .serializers import UserSerializer
4
5
5
6
6
7
class ProposalSerializer (serializers .ModelSerializer ):
7
- username = serializers .SerializerMethodField ()
8
8
category_name = serializers .SerializerMethodField ()
9
9
accepted = serializers .BooleanField (read_only = True )
10
10
created_at = serializers .DateTimeField (read_only = True )
@@ -14,7 +14,6 @@ class Meta:
14
14
model = Proposal
15
15
fields = [
16
16
"id" ,
17
- "username" ,
18
17
"title" ,
19
18
"brief" ,
20
19
"desc" ,
@@ -33,16 +32,16 @@ class Meta:
33
32
"updated_at" ,
34
33
]
35
34
36
- @staticmethod
37
- def get_username (obj : Proposal ):
38
- return "{}{}" .format (obj .user .last_name , obj .user .first_name )
35
+ def to_representation (self , instance : Proposal ):
36
+ response = super ().to_representation (instance )
37
+ response ["user" ] = UserSerializer (instance .user ).data
38
+ return response
39
39
40
40
@staticmethod
41
41
def get_category_name (obj : Proposal ):
42
42
return obj .category .name
43
43
44
44
45
-
46
45
class ProposalListSerializer (serializers .ModelSerializer ):
47
46
class Meta :
48
47
model = Proposal
You can’t perform that action at this time.
0 commit comments