serializers.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. # serializers.py
  2. from rest_framework import serializers
  3. from .models import RedTourismSpot
  4. class RedTourismSpotSerializer(serializers.ModelSerializer):
  5. image_url = serializers.SerializerMethodField()
  6. class Meta:
  7. model = RedTourismSpot
  8. fields = ['id', 'name', 'category', 'location', 'description',
  9. 'history', 'open_time', 'ticket_info', 'image_url']
  10. def get_image_url(self, obj):
  11. if obj.image and hasattr(obj.image, 'url'):
  12. return self.context['request'].build_absolute_uri(obj.image.url)
  13. return None
  14. from rest_framework import serializers
  15. from api.models import UserPlan
  16. class UserPlanSerializer(serializers.ModelSerializer):
  17. user_id = serializers.IntegerField(write_only=True) # 只用于写入
  18. class Meta:
  19. model = UserPlan
  20. fields = ['id', 'user_id', 'spot_id', 'spot_name','spot_img','created_at']
  21. extra_kwargs = {
  22. 'user': {'read_only': True}, # 用户信息只读,由后端设置
  23. 'created_at': {'read_only': True}
  24. }