serializers.py 1.0 KB

12345678910111213141516171819202122232425262728
  1. from rest_framework import serializers
  2. from .models import MyUser
  3. class LoginViewSerializer(serializers.Serializer):
  4. username = serializers.CharField(help_text="账户", required=True)
  5. password = serializers.CharField(help_text="密码", required=True)
  6. modules = serializers.CharField(help_text="模块", required=True)
  7. def validate_modules(self, value):
  8. if value in ["pestanalysis",]:
  9. return value
  10. else:
  11. raise serializers.ValidationError("modules不支持")
  12. class RegisterViewSerializer(serializers.Serializer):
  13. username = serializers.CharField(help_text="注册账户名", required=True)
  14. password = serializers.CharField(help_text="注册密码", write_only=True)
  15. user_modules = serializers.IntegerField(help_text="用户所属模块", required=True)
  16. def create(self, validated_data):
  17. try:
  18. user = MyUser.objects.create_user(**validated_data)
  19. except Exception as e:
  20. raise ValueError("用户创建失败,已存在用户名")
  21. return user