首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >区分unique_together验证错误

区分unique_together验证错误
EN

Stack Overflow用户
提问于 2011-12-08 14:34:53
回答 1查看 149关注 0票数 0

我得到了一个带有unique_together约束的模型。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Postit(models.Model):
    """Represents a single post-it."""
    x_axis = models.PositiveIntegerField(_('X axis'))
    y_axis = models.PositiveIntegerField(_('Y axis'))
    content = models.CharField(_('Content'), max_length=140, default='')

    class Meta:
        unique_together = ('x_axis', 'y_axis')

如果我使用表单创建一个新的便利贴,约束将被选中,如果发生冲突,错误将在non_field_errors属性中列出。很好。

我的问题是,我想根据表单错误的类型启动不同的操作。如果有一个唯一的约束错误,我想要一个特定的操作,对于任何其他类型的错误,我想要另一个操作。

考虑到我的应用程序将被翻译成几种语言,我如何知道表单是否因为限制或其他原因而无效?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-08 15:39:15

请记住,如果您只想检查non_field_errors,则可以转换要比较的字符串。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from django.utils.translation import ugettext_lazy as _
if _('Some error text') in self._errors['__all__']:
    # do something

不过,这并不是最优雅的解决方案。最好的方法是自己在Model.cleanModel.validate_unique中验证unique_together约束,并做出相应的响应。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8432605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文