mat/backend/apps/factory/serializers.py

32 lines
954 B
Python

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']