serializer.py 1.2 KB

123456789101112131415161718192021222324252627
  1. from rest_framework import serializers
  2. from .models import OperationHelp,OperationHelpImg,OperationHelpRadio
  3. from django.conf import settings
  4. class OperationHelpSerializer(serializers.ModelSerializer):
  5. enable_text = serializers.SerializerMethodField()
  6. create_user_name = serializers.CharField(source='create_user.employee.name', read_only=True)
  7. tenant_name = serializers.CharField(source='tenant.company_name', read_only=True)
  8. def get_enable_text(self,obj):
  9. if obj.enable:
  10. return '是'
  11. return '否'
  12. class Meta:
  13. model = OperationHelp
  14. fields = '__all__'
  15. def create(self, validated_data):
  16. user = self.context['request'].user
  17. validated_data['create_user'] = user
  18. validated_data['tenant'] = self.context['request'].user.employee.tenant
  19. instance = super(OperationHelpSerializer, self).create(validated_data)
  20. if 'file' in self.initial_data:
  21. OperationHelpImg.objects.filter(tenant=instance.tenant,operation_help__isnull=True,).update(operation_help=instance)
  22. OperationHelpRadio.objects.filter(tenant=instance.tenant,operation_help__isnull=True,).update(operation_help=instance)
  23. return instance