serializers.py 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. # coding=utf-8
  2. from rest_framework import serializers
  3. from apps.tenant.models import Tenant
  4. from apps.tenant.employee.models import Employee
  5. from utils.exceptions import CustomError
  6. from apps.account.models import User
  7. class TenantSerializer(serializers.ModelSerializer) :
  8. create_time = serializers.DateTimeField(format='%Y-%m-%d %H:%M', read_only=True)
  9. status_text = serializers.CharField(source='get_status_display', read_only=True)
  10. class Meta:
  11. model = Tenant
  12. fields = '__all__'
  13. def create(self, validated_data):
  14. if Tenant.is_exist(validated_data['company_name']):
  15. raise CustomError(u'名称为[%s]的租户已存在' % validated_data['company_name'])
  16. instance = super(TenantSerializer, self).create(validated_data)
  17. return instance
  18. def update(self, instance, validated_data):
  19. if instance.delete:
  20. raise CustomError(u'租户[%s]已经被删除,禁止修改' % instance.company_name)
  21. if Tenant.is_exist(validated_data['company_name'], instance.id):
  22. raise CustomError(u'名称为[%s]的租户已存在' % validated_data['company_name'])
  23. instance = super(TenantSerializer, self).update(instance, validated_data)
  24. return instance