问题标签 [django-validation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2829 浏览

django - 两种型号的一种形式

更新问题已解决,您可以看到的所有代码都有效。

你好!

我在 TextPage 和 Paragraph 之间有一个 ForeignKey 关系,我的目标是使前端 TextPage 创建/编辑表单就像在 ModelAdmin 中使用“内联”一样:TextPage 的几个字段,然后是几个内联的 Paragraph 实例。问题是我不知道如何验证和保存它:

我知道发布您甚至不希望工作的代码是一种代码猴子风格,但我想展示我正在努力完成的工作。这是models.py的相关部分:

任何帮助,将不胜感激。谢谢!

更新。添加了实例引用,但仍然不起作用 - 导致此字符串出现 ValidationError:

有任何想法吗?

0 投票
1 回答
1121 浏览

django - 带有可选 ForeignKey 字段的 Django Formset 验证

使用带有可选ForeignKey的模型ModelFormSet构建modelformset_factory并使用模型,我如何创建空(null)关联以在该表单上进行验证?

这是一个示例代码:

在我的模板中,我只是调用呈现组合字段的 {{ form.cliente }} 方法,但是,我希望能够选择一个空(标记为“------”)值,作为FK 是可选的......但是当表单被提交时它不会验证。

这是正常行为吗?如何使此字段跳过所需的验证?

0 投票
3 回答
36560 浏览

django - ModelForm 的 Django TextField max_length 验证

Django 在验证 ModelForm 时不尊重 TextField 模型字段的 max_length 属性。

所以我定义了一个继承自 models.TextField 的 LimitedTextField,并添加了类似于 models.CharField 的验证位:

但这仍然对 ModelForm 验证没有影响。

我错过了什么?

0 投票
1 回答
875 浏览

django - 在视图中向 django 表单添加错误... hack?

我想要做的是在视图中添加一个错误,在form.is_valid()和之后form.save(),它似乎有效,但只是因为黑客,我希望这里有人可以解释它为什么有效。

因此,在我的表单save()功能中,我连接到 LDAP 服务器,并尝试验证表单中提供的用户和密码。如果一切正常,最终发生的是一个User对象,并且Profile创建了一个对象。但是,在用于连接到 LDAP 并从 LDAP 获取数据的代码中,可能会发生错误,例如凭据错误或根本无法绑定到服务器。在这种情况下,我返回None,然后我的视图通过向表单添加错误来处理它。这是视图中的相关代码:

现在,在注释掉该打印语句后,'NoneType' object does not support item assignment当我尝试将错误添加到表单时,我得到了一个。如果我取消注释打印语句,它会像我期望的那样工作。关于为什么的任何想法?无论如何,我可以在没有打印语句的情况下做到这一点?谢谢!

PS:我不想在 clean 方法中进行表单验证,因为我不想绑定到 LDAP 服务器并尝试对用户进行两次身份验证,我只希望它发生一次,它要么工作要么不不。

0 投票
2 回答
1693 浏览

django - 存在 Django 和测试本地 URL

我有一个模型需要存储将成为 Django 环境的一部分的 URL。如果我存储的是普通 URL,我会使用models.URLField, 并使用verify_exists来确保 URL 确实存在。

但是,这在开发中效果不佳,因为开发服务器是单线程的,它会无限期地挂起,因为它不能一次处理两个请求。

我希望使用 来做某事,但是在将该文档页面末尾的函数调整为不接受请求的版本resolve()时遇到困难,因为我想检查给定的本地 URL 是否可以被解析,并且在没有调用的情况下调用myview从空白会话中引发 404。

我希望使用验证器来做到这一点,如下所示:

但是,如果没有将有效request对象传递到kwargs. 如何生成虚拟(空白)请求对象?我试过只使用django.http.HttpRequest.

0 投票
2 回答
1773 浏览

django - 如何为 Django Admin 创建复杂的 Django 模型验证?

我在 Django 中有以下模型:

我想对政府进行“白痴证明”以供其记录。顺便说一句,我想创建三个规则:

  1. 战斗机 1 与战斗机 2 不同(仅适用于巨蟒短剧)。

  2. 获胜者应该在回合中(即,战斗机 1 或战斗机 2)

  3. 比赛开始前无法确定胜者。(毕竟,这不是 WWE。)

所有这三个规则都要求检查同一记录中的一个字段与另一个字段。是否可以在 django 中执行此操作,使用本机 django 方法或求助于 python?

0 投票
1 回答
121 浏览

django - 如何检查 Django (django-admin) 中的值转换?(重访)

我想知道如何控制模型数据中的转换。我在如何检查 Django (django-admin) 中的值转换?但是当我试图在我的代码中实现它时,出了点问题(我可以不受惩罚地改变状态):

这是我的代码的相关部分:

clean() 方法有效。我还尝试在 clean_status() 方法中使用 'Published' 和 'Draft' ,但这不起作用。

我是否将 clean_status 放在正确的位置?我忽略了什么吗?

0 投票
1 回答
4822 浏览

django - 在 Django 中验证/清理非模型表单上的 FileField?

我最终试图通过扩展类型验证 FileField。但是我什至无法获得该字段的干净方法来获取 POSTed 值。

当我运行代码时,我得到以下输出:

换句话说,clean_file 方法无法获取文件数据。同样,如果它返回 None,则该表单仍然有效。

这是我的表单html:

我已经看到了一些带有此问题解决方案的片段,但我无法让它们与非模型表单一起使用。它们都声明了自定义字段类型。当我这样做时,我会遇到同样的问题;调用 super() 返回一个 None 对象。

0 投票
7 回答
34976 浏览

python - 为什么 django 的 model.save() 不调用 full_clean()?

我只是好奇是否有人知道 django 的 orm 是否有充分的理由不在模型上调用“full_clean”,除非它被保存为模型表单的一部分。

请注意,当您调用模型的 save() 方法时,不会自动调用 full_clean()。当您想为自己手动创建的模型运行一步模型验证时,您需要手动调用它。 django 的完整文档

(注意:为 Django 1.6 更新了引用...以前的 django 文档也对 ModelForms 提出了警告。)

人们是否有充分的理由不想要这种行为?我认为如果您花时间向模型添加验证,您会希望每次保存模型时都运行验证。

我知道如何让一切正常工作,我只是在寻找解释。

0 投票
1 回答
868 浏览

django - 在 Django 管理员中,如何将博客文章设置为仅验证它是否不是草稿?

我正在为 Django 写博客,我想使用 Django 管理员的内置验证。但是,如果博客文章状态设置为“草稿”,我想要一些方法来禁用验证。

基本上,我正在寻找应该执行以下操作的代码: