1234567891011121314151617181920212223242526272829303132 |
- # coding=utf-8
- from django.utils import timezone
- from django.conf import settings
- from rest_framework import serializers
- from apps.activity.models import Activity
- class ActivitySerializer(serializers.ModelSerializer):
- create_user_text = serializers.CharField(source='create_user.employee.name', read_only=True)
- playbill_url = serializers.SerializerMethodField()
- cover = serializers.SerializerMethodField()
- status = serializers.SerializerMethodField()
- def get_status(self, obj):
- if obj.end_date >= timezone.now().date():
- return u'进行中'
- return u'已结束'
- def get_playbill_url(self, obj):
- if obj.cover:
- return '%s%s' % (settings.MEDIA_URL, obj.cover.picture)
- return ''
- def get_cover(self, obj):
- if obj.cover:
- return {'width': obj.cover.width, 'height': obj.cover.height, 'url': obj.cover.get_path(), 'id': obj.id}
- return ''
- class Meta:
- model = Activity
- fields = '__all__'
|