我有ManyToManyField字段的模型。我也有使用此模型的ModelForm。
如何为此类字段定义error_messages?
示例:
class Article(models.Model):
categories = models.ManyToManyField(Category)
class ArticleForm(ModelForm):
class Meta(ContentForm.Meta):
model = Article
我想覆盖ArticleForm模型中的类别字段的“必需”错误消息。
我在谷歌搜索这个问题,但所有解决方案都不起作用,他们不是形式ModelForm或ManyToManyField。
答案 0 :(得分:1)
您可以尝试对此字段进行自己的验证。在m2m字段的模型集中,空白= True,并在表单中实现clean_categories方法。如果字段类别无效,请使用您的内容引发异常。
模特:
categories = models.ManyToManyField(Category, blank=True)
表格:
def clean_categories(self):
if not self.cleaned_data.get('categories'):
raise forms.ValidationError('My custom message')
return self.cleaned_data['categories']