File size: 1,056 Bytes
e657e99 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | from rest_framework import serializers
from api.models import Project, DataFile
from api.serializers.data_serializers import DataFileSerializer
class ProjectSerializer(serializers.ModelSerializer):
"""项目序列化器"""
class Meta:
model = Project
fields = ['id', 'name', 'created_at', 'last_modified', 'status']
read_only_fields = ['id', 'created_at', 'last_modified', 'status']
class ProjectDetailSerializer(serializers.ModelSerializer):
"""项目详情序列化器"""
data_files = DataFileSerializer(many=True, read_only=True)
active_data_file = DataFileSerializer(read_only=True)
data_files_count = serializers.SerializerMethodField()
class Meta:
model = Project
fields = ['id', 'name', 'description', 'created_at', 'last_modified', 'status',
'data_files', 'active_data_file', 'data_files_count']
read_only_fields = ['id', 'created_at', 'last_modified', 'status']
def get_data_files_count(self, obj):
return obj.data_files.count() |