from rest_framework import serializers from .models import Factory class FactorySerializer(serializers.ModelSerializer): """ 工厂序列化器 """ material_count = serializers.SerializerMethodField() class Meta: model = Factory fields = ['id', 'dealer_name', 'product_category', 'factory_name', 'factory_short_name', 'province', 'city', 'district', 'address', 'website', 'created_at', 'updated_at', 'material_count'] read_only_fields = ['id', 'created_at', 'updated_at', 'material_count'] def get_material_count(self, obj): """ 获取工厂的材料数量 """ return obj.materials.count() class FactoryListSerializer(serializers.ModelSerializer): """ 工厂列表序列化器(简化版) """ class Meta: model = Factory fields = ['id', 'factory_name', 'factory_short_name', 'province', 'city']