Django用错误的数据创建用户会冻结shell

时间:2016-07-17 18:17:44

标签: python django django-models

我有一个用户模型,

EXEC usp_YourProcedure  'String literal, with commas, which will, be stripped out by the delimiter', ','

验证者,

class User(AbstractBaseUser, PermissionsMixin):
    name = models.CharField(max_length=30)
    email = models.EmailField(max_length=254, unique=True)

    is_staff = models.BooleanField(default=False)
    is_active = models.BooleanField(default=False)

    date_joined = models.DateTimeField(auto_now_add=True)
    username = models.CharField(max_length=20, unique=True, validators=[validate_username, ])

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['username']

    class Meta:
        verbose_name = 'user'
        verbose_name_plural = 'users'


    def save(self, **kwargs):
        print "saving object"
        if self.username is not None:
            self.username = validate_username(self.username.lower())
        super(AbstractBaseUser, self).save(**kwargs)

这适用于每个正确的输入,

虽然只是尝试使用无效数据创建用户,     def validate_username(value): valid_username = r'^[a-zA-Z0-9_]{1,15}$' validator = RegexValidator(regex=valid_username, message='alphanumerics and underscores are allowed [1-15].', code='Invalid Number') validator(value) return value

我输入后,Django shell甚至没有响应。发生了什么错误?

1 个答案:

答案 0 :(得分:0)

我可以用PyCharm的Django shell复制错误,但不能用终端上的Django shell复制错误。如果您正在使用PyCharm,我想问题是PyCharm的shell。