feat(backend): 组织序列化器添加在招岗位数统计
- JobListSerializer 和 JobDetailSerializer 新增 job_count 字段 - 统计 status='published' 的岗位数量 - 前端展示每个公司/子公司的在招岗位数 Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
f56e562a78
commit
11d1cec192
|
|
@ -3,18 +3,27 @@ from .models import Organization
|
|||
|
||||
|
||||
class OrganizationSerializer(serializers.ModelSerializer):
|
||||
job_count = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = Organization
|
||||
fields = ['id', 'name', 'parent', 'logo', 'description', 'email', 'is_active']
|
||||
fields = ['id', 'name', 'parent', 'logo', 'description', 'email', 'is_active', 'job_count']
|
||||
|
||||
def get_job_count(self, obj):
|
||||
return obj.jobs.filter(status='published').count()
|
||||
|
||||
|
||||
class OrganizationTreeSerializer(serializers.ModelSerializer):
|
||||
"""带子公司列表,用于门户展示"""
|
||||
children = serializers.SerializerMethodField()
|
||||
job_count = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = Organization
|
||||
fields = ['id', 'name', 'logo', 'description', 'email', 'children']
|
||||
fields = ['id', 'name', 'logo', 'description', 'email', 'job_count', 'children']
|
||||
|
||||
def get_job_count(self, obj):
|
||||
return obj.jobs.filter(status='published').count()
|
||||
|
||||
def get_children(self, obj):
|
||||
return OrganizationSerializer(
|
||||
|
|
|
|||
Loading…
Reference in New Issue