我收到以下错误
ValidationError:ValidationError(值必须是['AL','CT','DE','FL'......'WY']之一:['state'])
但我似乎无法弄清楚为什么当我在我的模特中时它会验证该字段;
class User(mongoengine.Document):
username = mongoengine.StringField(unique=True, max_length=30, required=True,verbose_name="Pick a Username")
state = mongoengine.ListField(required=False, verbose_name="State", choices=[('AL' , 'Alabama'), ('AK' , 'Alaska') ,('AZ' , 'Arizona'), ('AR' , 'Arkansas') ,('CA' , 'California'), ('CO' , 'Colorado') ,('CT' , 'Connecticut'), ('DE' , 'Delaware') ,('FL' , 'Florida')...('WY' , 'Wyoming')])
user_form = model_form(User, exclude=['password','name','address','address2','zipcode','state'])
signup_form = model_form(User, exclude=['name','address','address2','zipcode','state'])
我很茫然,因为我首先要求require = false意味着它会被忽略,其次排除也让我觉得它应该被忽略。为什么这个验证错误仍然发生(除了我没有在表单中填写它的事实)?有关更多上下文,可以在此处找到完整的model.py和app.py
https://github.com/markbreneman/TroubleShooting/tree/master/SecondNatureWebsite
答案 0 :(得分:1)
required=False
表示用户没有义务在该字段中输入至少1个数据。
也许输入表单中的选项和字段的预定义选项不匹配。