from rest_framework import serializers from .models import MyUser class LoginViewSerializer(serializers.Serializer): username = serializers.CharField(help_text="账户", required=True) password = serializers.CharField(help_text="密码", required=True) modules = serializers.CharField(help_text="模块", required=True) def validate_modules(self, value): if value in ["pestanalysis",]: return value else: raise serializers.ValidationError("modules不支持") class RegisterViewSerializer(serializers.Serializer): username = serializers.CharField(help_text="注册账户名", required=True) password = serializers.CharField(help_text="注册密码", write_only=True) user_modules = serializers.IntegerField(help_text="用户所属模块", required=True) def create(self, validated_data): try: user = MyUser.objects.create_user(**validated_data) except Exception as e: raise ValueError("用户创建失败,已存在用户名") return user