そこで、ユーザー名の重複を検証するカスタム フォーム フィールドを作成しました。データベースとして 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 を呼び出したにもかかわらず、常に正しく検証されているように見えます