Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1from rest_framework import serializers 

2 

3from report.report_fields import LABELS 

4from .models import Project, District 

5 

6 

7class DistrictSerializer(serializers.ModelSerializer): 

8 class Meta: 

9 model = District 

10 fields = ('name', 'code') 

11 

12 

13class MunicipalitySerializer(serializers.ModelSerializer): 

14 class Meta: 

15 model = District 

16 fields = ('name', 'code') 

17 

18 

19class MiniProjectSerializer(serializers.ModelSerializer): 

20 class Meta: 

21 model = Project 

22 fields = ('id', 'name',) 

23 

24 

25class ProjectSerializer(serializers.ModelSerializer): 

26 rc_data = serializers.SerializerMethodField() 

27 district = DistrictSerializer() 

28 municipalities = MunicipalitySerializer(many=True) 

29 

30 class Meta: 

31 model = Project 

32 fields = '__all__' 

33 

34 def get_rc_data(self, instance): 

35 # NOTE: Make sure the reports are sorted correctly 

36 report = instance.reports.first() 

37 if report and report.data: 37 ↛ exitline 37 didn't return from function 'get_rc_data', because the condition on line 37 was never false

38 fields = [ 

39 'planned', 'totalRc', 'sponsored', 

40 'available', 'hold', 'death', 

41 'totalMale', 'totalFemale', 'totalLeft', 

42 ] 

43 rc_data = report.data.get('rcData') or {} 

44 return [ 

45 { 

46 'name': LABELS[field], 

47 'value': rc_data.get(field), 

48 } for field in fields 

49 ]