# coding=utf-8 from django.conf import settings from rest_framework import serializers from apps.activity.models import Activity, ActivityDetails class ActivitySerializer(serializers.ModelSerializer): pic = serializers.SerializerMethodField() describe = serializers.SerializerMethodField() details = serializers.SerializerMethodField() class Meta: model = Activity fields = ('branch_address', 'branch_name', 'branch_tel', 'describe', 'title', 'pic', 'details',) def get_details(self, obj): rows = ActivityDetails.objects.filter(main=obj, delete=False).values('name', 'amount', 'id') data = [] for row in rows: item = { 'id': row['id'], 'name': row['name'], 'amount': row['amount'], } data.append(item) return data def get_pic(self, obj): if obj.pic: return settings.MEDIA_URL + obj.pic return '' def get_describe(self, obj): return ''