Python 提交包含电话号码字符字段的django表单时出现多次重复错误
我是django/python的初学者。我在django模型中创建了一个charfield,用于存储用户的电话号码。我提供了一个regex验证器来验证用户的输入,但是当我提交表单时,它会给出多次重复错误。我不知道为什么会出现这种错误。感谢您的帮助 模型如下:Python 提交包含电话号码字符字段的django表单时出现多次重复错误,python,django,forms,Python,Django,Forms,我是django/python的初学者。我在django模型中创建了一个charfield,用于存储用户的电话号码。我提供了一个regex验证器来验证用户的输入,但是当我提交表单时,它会给出多次重复错误。我不知道为什么会出现这种错误。感谢您的帮助 模型如下: class Contact(models.Model): account_company_name = models.ForeignKey('Account', on_delete=models.CASCADE, db_column
class Contact(models.Model):
account_company_name = models.ForeignKey('Account', on_delete=models.CASCADE, db_column='account_id')
name = models.CharField(db_column='Contact name', max_length=120, blank=False, null=False)
email = models.EmailField(primary_key=True, db_column='Email', blank=False, null=False)
phone = models.CharField(primary_key=True, max_length=10,validators = [RegexValidator(r'\d{10}+|\d{5}([- ]*)\d{6}')],\
db_column='Phone', blank=False, null=False)
notes = models.TextField()
class Meta:
db_table = 'Contact'
以下是forms.py文件:
class ContactForm(forms.ModelForm):
class Meta:
model = Contact
fields = ['account_company_name', 'name', 'email', 'phone', 'notes']
以下是请求的错误回溯:
Traceback:
File "C:\Users\admin_hp\crm_env\lib\site-packages\django\core\handlers\exception.py" in inner
41. response = get_response(request)
File "C:\Users\admin_hp\crm_env\lib\site-packages\django\core\handlers\base.py" in _get_response
187. response = self.process_exception_by_middleware(e, request)
File "C:\Users\admin_hp\crm_env\lib\site-packages\django\core\handlers\base.py" in _get_response
185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "G:\PycharmProjects\crm\crm_app\views.py" in add_contact
43. if form.is_valid():
File "C:\Users\admin_hp\crm_env\lib\site-packages\django\forms\forms.py" in is_valid
183. return self.is_bound and not self.errors
File "C:\Users\admin_hp\crm_env\lib\site-packages\django\forms\forms.py" in errors
175. self.full_clean()
File "C:\Users\admin_hp\crm_env\lib\site-packages\django\forms\forms.py" in full_clean
386. self._post_clean()
File "C:\Users\admin_hp\crm_env\lib\site-packages\django\forms\models.py" in _post_clean
396. self.instance.full_clean(exclude=exclude, validate_unique=False)
File "C:\Users\admin_hp\crm_env\lib\site-packages\django\db\models\base.py" in full_clean
1226. self.clean_fields(exclude=exclude)
File "C:\Users\admin_hp\crm_env\lib\site-packages\django\db\models\base.py" in clean_fields
1268. setattr(self, f.attname, f.clean(raw_value, self))
File "C:\Users\admin_hp\crm_env\lib\site-packages\django\db\models\fields\__init__.py" in clean
603. self.run_validators(value)
File "C:\Users\admin_hp\crm_env\lib\site-packages\django\db\models\fields\__init__.py" in run_validators
555. v(value)
File "C:\Users\admin_hp\crm_env\lib\site-packages\django\core\validators.py" in __call__
60. if not (self.inverse_match is not bool(self.regex.search(
File "C:\Users\admin_hp\crm_env\lib\site-packages\django\utils\functional.py" in inner
238. self._setup()
File "C:\Users\admin_hp\crm_env\lib\site-packages\django\utils\functional.py" in _setup
385. self._wrapped = self._setupfunc()
File "C:\Users\admin_hp\crm_env\lib\site-packages\django\core\validators.py" in _compile
24. return re.compile(regex, flags)
File "C:\Users\admin_hp\crm_env\lib\re.py" in compile
194. return _compile(pattern, flags)
File "C:\Users\admin_hp\crm_env\lib\re.py" in _compile
251. raise error, v # invalid expression
Exception Type: error at /crmbasic/addcontact/
Exception Value: multiple repeat
你的正则表达式无效。我不知道你需要的格式,但可能这是你正在寻找的
phone = models.CharField(
primary_key=True,
max_length=12,
validators=RegexValidator(r"^\d{10}|(\d{5}[\-]\d{6})$")],
db_column='Phone',
blank=False,
null=False)
你可以提供错误信息吗?你可以发布完整的堆栈跟踪,也不包括图像链接,复制粘贴为文本数据吗?根据要求,我已经添加了错误的完整跟踪@FazilZaidYour正则表达式无效。输入一个有效的正则表达式