# serializers.py from rest_framework import serializers from .models import RedTourismSpot class RedTourismSpotSerializer(serializers.ModelSerializer): image_url = serializers.SerializerMethodField() class Meta: model = RedTourismSpot fields = ['id', 'name', 'category', 'location', 'description', 'history', 'open_time', 'ticket_info', 'image_url'] def get_image_url(self, obj): if obj.image and hasattr(obj.image, 'url'): return self.context['request'].build_absolute_uri(obj.image.url) return None from rest_framework import serializers from api.models import UserPlan class UserPlanSerializer(serializers.ModelSerializer): user_id = serializers.IntegerField(write_only=True) # 只用于写入 class Meta: model = UserPlan fields = ['id', 'user_id', 'spot_id', 'spot_name','spot_img','created_at'] extra_kwargs = { 'user': {'read_only': True}, # 用户信息只读,由后端设置 'created_at': {'read_only': True} }