Django ModelAdmin 执行额外操作

发布于 2024-11-04 07:58:54 字数 87 浏览 0 评论 0原文

在保存记录之前是否应该使用 save_model 执行额外操作?

当出现错误时,如何停止保存记录的功能并在ModelAdmin表单上方提示错误?

Should I use save_model to do extra operations before I save a record?

When an error occur, how can I stop the function to save a record and prompt an error on top of the ModelAdmin form?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

抽个烟儿 2024-11-11 07:58:54

在大多数情况下,最好使用 信号 而不是覆盖保存。

对于验证部分,您应该定义一个 ModelForm 并添加您的 验证规则 在那里。

此处解释了表单验证

def clean_name(self):
    # do something that validates your data
    cleaned_data = self.cleaned_data
    name = cleaned_data.get("name")
    if not name:
        raise forms.ValidationError('please add your name')
    return name

In most cases it is better to use signals instead of overriding save.

And for the validation part you should define a ModelForm and add your validation rules there.

Form Validation is explained here.

def clean_name(self):
    # do something that validates your data
    cleaned_data = self.cleaned_data
    name = cleaned_data.get("name")
    if not name:
        raise forms.ValidationError('please add your name')
    return name
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文