@@ -25,13 +25,31 @@ class Meta:
25
25
26
26
27
27
class SponsorBenefitWithOfferSerializer (SponsorBenefitSerializer ):
28
- offer = serializers .SerializerMethodField ()
28
+ id = serializers .SlugRelatedField (slug_field = "id" , source = "benefit" , read_only = True )
29
+ name = serializers .SlugRelatedField (
30
+ slug_field = "name" , source = "benefit" , read_only = True
31
+ )
32
+ desc = serializers .SlugRelatedField (
33
+ slug_field = "desc" , source = "benefit" , read_only = True
34
+ )
35
+ unit = serializers .SlugRelatedField (
36
+ slug_field = "unit" , source = "benefit" , read_only = True
37
+ )
38
+ is_countable = serializers .SlugRelatedField (
39
+ slug_field = "is_countable" , source = "benefit" , read_only = True
40
+ )
29
41
30
- class Meta (SponsorBenefitSerializer .Meta ):
31
- fields = SponsorBenefitSerializer .Meta .fields + ["offer" ]
42
+ class Meta :
43
+ model = BenefitByLevel
44
+ fields = ["id" , "name" , "desc" , "unit" , "is_countable" , "offer" ]
45
+
46
+ def get_benefit_id (self , obj ):
47
+ breakpoint ()
48
+ return
32
49
33
50
def get_offer (self , obj ):
34
- return obj .benefit_by_level .filter (benefit_id = obj .id ).get ().offer
51
+ breakpoint ()
52
+ return obj .benefit_by_level .filter (benefit_id = obj .id )
35
53
36
54
37
55
class SponsorSerializer (serializers .ModelSerializer ):
@@ -59,7 +77,9 @@ class Meta:
59
77
60
78
61
79
class SponsorLevelSerializer (serializers .ModelSerializer ):
62
- benefits = SponsorBenefitWithOfferSerializer (many = True , read_only = True )
80
+ benefits = SponsorBenefitWithOfferSerializer (
81
+ many = True , read_only = True , source = "benefit_by_level"
82
+ )
63
83
64
84
class Meta :
65
85
model = SponsorLevel
0 commit comments