32 lines
954 B
Python
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']
|