【发布时间】:2022-01-06 09:51:16
【问题描述】:
如何在某处获取或存储 EmployeeSerializer 的数据,以便我可以再次使用它来获取活跃成员数,而不是调用新的数据库来获取活跃成员数?
class ProjectSerailizer(serializers.ModelSerializer):
members = EmployeeSerializer(many=True)#returns all members of a project
active_members_count = serializers.SerializerMethodField()# get count of members which are having status active
class Meta:
model = Project
fields = ('id','name','members','active_members_count')
def get_active_members_count(self,obj):
#How can I omit this extra db call? as i am already having data in members variable from EmployeeSerializer, can i loop over members variable somehow and count the active ones?
count = obj.members.filter(status='Active').count()
return count
【问题讨论】:
标签: python django rest django-rest-framework django-serializer