所以我创建了一个自定义表单字段来验证重复的用户名。我使用 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
但是当我实际在我的表单中使用它时,它似乎总是正确验证,即使我已经调用了检查 form.is_valid() 是否为 True