django - django 的两个唯一字段的自定义验证错误
问题描述
我想为两个唯一的字段编写自己的验证错误
class MyModel(models.Model):
name = models.CharField(max_length=20)
second_field = models.CharField(max_length=10)
#others
class Meta:
unique_together = ('name','second_field')
和我的forms.py
class MyModelForm(forms.ModelForm):
class Meta:
model = MyModel
fields = '__all__'
error_messages= {#how to write my own validation error whenever `name and second_field` are unique together }:
如何在name and second_field
唯一的时候编写我自己的验证错误?如果两个字段一起是唯一的,我需要提出一些错误?感谢您的回复
解决方案
来自 django文档-
您可以通过将 NON_FIELD_ERRORS 键添加到 ModelForm 的内部 Meta 类的 error_messages 字典来覆盖模型验证引发的 NON_FIELD_ERRORS 中的错误消息
from django.core.exceptions import NON_FIELD_ERRORS
from django.forms import ModelForm
class ArticleForm(ModelForm):
class Meta:
error_messages = {
NON_FIELD_ERRORS: {
'unique_together': "%(model_name)s's %(field_labels)s are not unique.",
}
}
您可以ModelForm
meta
如上所述更新您的课程并创建自定义错误消息。
推荐阅读
- extjs - 在 Ext JS 6 中将自定义 mixin(屏蔽)应用于 extjs 网格
- spring-boot - 百里香叶不起作用 ${name} 在 html 中显示
- ethereum - 验证使用 Truffle 部署的智能合约代码
- javascript - 我的函数返回未定义(JavaScript)
- java - Hibernate 在不同线程上运行时不必要地创建新实体
- firebase - 如何编写只能通过我的应用访问的 Firebase 云功能?
- android - 如果片段在 ScrollView 内,不能动态添加片段?
- c++ - C++、GPIO、单独的数据和时钟线
- angular - Angular Material 2 动态主题颜色
- python - 如何将指标添加到模型 keras