gpt4 book ai didi

python - Django模型的clean方法多次报错

转载 作者:行者123 更新时间:2023-12-05 08:57:10 25 4
gpt4 key购买 nike

我一直在玩我的测试项目

我的模型中有这个干净的方法

class SomeModel(models.Model):
f1 = models.IntegerField()
f2 = models.IntegerField()

def clean(self):
if self.f1 > self.f2:
raise ValidationError({'f1': ['Should be greater than f1',]})
if self.f2 == 100:
raise ValidationError({'f2': ['That's too much',]})

我真的不知道如何引发这两个错误并在管理页面中显示它,因为即使两个 ifTrue,也只有第一个 如果显示 错误(很明显),我该如何显示这两个错误?

最佳答案

您可以构建一个包含错误的 dict 并在完成时引发 ValidationError(如果需要):

class SomeModel(models.Model):
f1 = models.IntegerField()
f2 = models.IntegerField()

def clean(self):
error_dict = {}
if self.f1 > self.f2:
error_dict['f1'] = ValidationError("Should be greater than f1") # this should probably belong to f2 as well
if self.f2 == 100:
error_dict['f2'] = ValidationError("That's too much")
if error_dict:
raise ValidationError(error_dict)

关于python - Django模型的clean方法多次报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35963739/

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