gpt4 book ai didi

Django:覆盖 Model.validate_unique

转载 作者:行者123 更新时间:2023-12-04 00:35:56 26 4
gpt4 key购买 nike

覆盖 Django 的 Model.validate_unique 的正确方法是什么?我尝试覆盖它并提高我自己的 ValidationError ,但得到这个错误:

AttributeError: 'ValidationError' object has no attribute 'message_dict'

最佳答案

Django 希望你的 ValidationErrors 用字典而不是字符串来实例化:

from django.db.models import Model
from django.core.exceptions import ValidationError
from django.core.exceptions import NON_FIELD_ERRORS


class Person(Model):

...

def validate_unique(self, *args, **kwargs):
super(Person, self).validate_unique(*args, **kwargs)
if not self.id:
if self.__class__.objects.filter(...).exists():
raise ValidationError(
{
NON_FIELD_ERRORS: [
'Person with same ... already exists.',
],
}
)

关于Django:覆盖 Model.validate_unique,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14075595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com