serializers.py 1012 B

123456789101112131415161718192021222324252627
  1. # coding=utf-8
  2. from rest_framework import serializers
  3. from apps.WechatApplet.models import WechatApplet
  4. from .models import *
  5. class DeviceSerializer(serializers.ModelSerializer):
  6. create_user_text = serializers.CharField(source='create_user.employee.name', read_only=True)
  7. status_text = serializers.CharField(source='get_status_display', read_only=True)
  8. class Meta:
  9. model = DeviceModel
  10. fields = '__all__'
  11. def create(self, validated_data):
  12. validated_data['create_user'] = self.context['request'].user
  13. validated_data['tenant'] = self.context['request'].user.employee.tenant
  14. instance = super(DeviceSerializer, self).create(validated_data)
  15. id = instance.id
  16. applet = WechatApplet.objects.filter(authorizer_appid=settings.WEAPP['appid']).first()
  17. filename = applet.getDeviceCode(id, instance.tenant.company_no)
  18. instance.wxapp_img = "{0}{1}".format(settings.MEDIA_URL,filename)
  19. instance.save()
  20. return instance