1

そこで、ユーザー名の重複を検証するカスタム フォーム フィールドを作成しました。データベースとして Django + Mongoengine を使用しています。私はそれをプラグインしてdjango認証システムで動作させているので、forms.pyからアクセスできると思いますか? たぶん、その仮定は間違っています。だから私はフィールドを持っています

class UsernameField(CharField):
    def to_python(self, value):
        if not value:
            return ""
        return value

    def validate(self, value):
        super(CharField, self).validate(value)

        try:
            # If the user object exists it won't throw an Error/Exception
            user=User.objects.get(username=value) 
            raise ValidationError("Username already exists")
        except:
            pass

しかし、実際にフォームで使用すると、checked if form.is_valid() is True を呼び出したにもかかわらず、常に正しく検証されているように見えます

4

2 に答える 2