需要 Django 表单集

2024-02-03

如何使 django formset 中的所有表单都成为必需的?我试图验证所有字段的存在cleaned_data重写 formset 的 clean() 方法,但它只是默默地失败,没有显示任何错误。

Thanks!

源代码:

class BaseScheduleForm(forms.ModelForm):

    def __init__(self, *args, **kwargs):
        super(BaseScheduleForm, self).__init__(*args, **kwargs)
        self.fields['day'].widget = forms.HiddenInput()
        self.fields['user'].widget = forms.HiddenInput()

    class Meta:
        model = Schedule

    def clean_end_time(self):
        start_time = self.cleaned_data.get('start_time')
        end_time = self.cleaned_data['end_time']

        if start_time and end_time:
            if end_time <= start_time:
                raise forms.ValidationError("End time must be later that start time.")
        return end_time

class BaseScheduleFormset(forms.models.BaseModelFormSet):

    def __init__(self, *args, **kwargs):
        super(BaseScheduleFormset, self).__init__(*args, **kwargs)
        for number, weekday in enumerate(WEEKDAYS):
            self.forms[number].day_name = weekday[1]

    def clean(self):
        raise forms.ValidationError('You must specify schedule for the whole week')

ScheduleFormset = forms.models.modelformset_factory(Schedule, extra=7, max_num=7,
    form=BaseScheduleForm, formset=BaseScheduleFormset)

一天有7张表格,必须全部填写才有效。在上面的示例中,我只是尝试在 clean 中引发错误。is_valid()变为False,但没有显示任何错误。


有点难以理解where错误没有被显示。

如果 is_valid 为 False,那么很好,它本身的验证正在工作。那么下一个要寻找的地方是模板层。你如何检查错误? {{form.errors}} 或 {{somefield.errors}}。

此处设置 clean 方法的方式,它们的错误不会与任何字段关联,但应该出现在all错误槽。

Cheers

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

需要 Django 表单集 的相关文章

随机推荐

  • 在 Puppet 中迭代哈希键/值

    我正在尝试使用 Puppet 来更新 ASP NET web config 中的任意应用程序设置列表 用于部署目的 但我陷入了困境 主要是因为我是一个真正的 puppet 专家 我有这个 yaml 文件 hiera appSettings
  • “复数或单数生成的对象名称”设置是什么意思?

    设置新的实体数据模型时 可以选择 x 将生成的对象名称复数或单数化 我注意到这也是 LINQ 中的一个选项 另外 现在我正在研究 ADO NET 实体框架 我注意到它还有 DEFAULT 来 复数或单数生成的对象名称 设置 实体数据模型 时
  • Android Studio 中按 Enter 键换行?

    我刚刚开始使用 Android Studio 当我编辑 activity main xml 时 我无法通过按 Enter 键转到新行 另外 我尝试插入新字母 但新字母刚刚被替换 所以我到处点击以使输入键起作用 然后突然我得到了新的一行 我不
  • 如何使用MinGW Windres编译资源文件?

    我的最终目标是设置使用 MinGW gcc g 编译的可执行文件的版本 在属性 gt 详细信息中显示 但现在我想用 Windres 编译一个资源文件 以便稍后能够手动链接它 但是当我使用此命令时出现以下错误 windres resource
  • 通过批处理文件(.bat)编译 Inno Setup 项目

    在我的工作项目中 我们必须使用 Inno Setup 创建 4 个安装程序 这样 我必须逐个文件运行 这最终会占用我更多的时间 文件 iss setup prog 01 iss setup prog 02 iss setup prog 03
  • 解析 HTTParty 响应

    我正在使用 HTTParty 提取 Facebook 用户的书籍列表 但在解析响应时遇到问题 Facebook 以这种方式返回数据 data name Title category Book id 21192118877902 create
  • Mac上像Cloud App一样自动截图上传

    云应用程序 http getcloudapp com 有这个巧妙的功能 当新的屏幕截图添加到桌面时 它会自动上传它们 有什么想法如何做到这一点吗 您可以自己做类似的事情 而无需太多编程方式 在操作系统中 您可以配置 文件夹操作 http w
  • Android自定义视图组委托addView

    我想实现自定义ViewGroup就我而言 源自FrameLayout但我希望从 xml 添加的所有子视图不直接添加到此视图中 而是添加到FrameLayout包含在这个习俗中ViewGroup 让我举个例子来说明这一点
  • 缺少必需的模块 Firebase - Jenkins 构建错误

    我已经配置了 jenkins 来构建我的 ios swift 应用程序 我用过 xcode 版本 8 1 和 swift 版本 3 我是 Jenkins 的新手 并继续集成过程 根据我的控制台输出 我认为构建成功 因为控制台输出像这样打印
  • java.lang.UnsupportedOperationException:AdapterView 中不支持 addView(View, LayoutParams)

    我正在使用网上找到的 Expandable ListView 示例 活动 public class ExpandableListViewActivity extends ExpandableListActivity strings for
  • utf8mb4_unicode_ci 与 utf8mb4_bin

    首先让我们看看我是否做对了 字符集是一组符号和编码 排序规则是用于比较字符集中字符的一组规则 我应该使用 utf8mb4 因为 mysql utf8 是一种欺诈 最多 3 字节 而不是 PHP 中真正的最多 4 字节真正的 utf8 字符集
  • 打字稿和传播运算符?

    function foo x number y number z number console log x y z var args number 0 1 2 foo args 为什么我在 Typescript Playground 中收到
  • 多个 Activemq 远程代理的 Spring 配置

    如何在spring上下文中配置多个远程activemq代理 不同的IP地址 以下是 1 个远程代理的配置 我正在使用camel来创建路由 用于在多个远程代理中的不同队列中生成和使用消息 根据以下路由 系统如何知道每个队列属于哪个远程代理 项
  • 没有为命名空间 / 和操作名称 hello 映射的操作

    package com tutorialspoint struts2 public class HelloWorldAction private String name public String execute throws Except
  • 如何在asp.net core 1.0中获取当前的url

    在以前版本的 ASP NET 中 我们可以使用 Request Url AbsoluteUri 但似乎已经改变了 我们如何在 ASP NET Core 1 0 中做到这一点 您必须分别获取主机和路径 Context Request Host
  • 画一棵二叉树

    我正在寻找一个js库 它允许用户绘制二叉树 添加 删除叶子 添加 删除父节点等 我发现了很多库 但其中大多数仅用于数据可视化 例如 d3 而不是从浏览器中绘制 这真的存在吗 Thanks 看看现有的绘制图表的东西 树就是图 纯 JavaSc
  • 使用 jQuery 将具有相对路径的外部 HTML 页面加载到 DIV 中

    我对 jQuery 比较陌生 如果这个问题太简单 请原谅 但我已经搜索了许多线程几个小时 但找不到明确的解决方案 我有以下文件夹结构 index html html pages page1 html html pages images ht
  • 在 Postgres 中使用 DELETE 的返回值进行 UPDATE

    我需要使用从另一个表中删除的值来更新表 情况是类似于SO 上的评论投票记分员 我正在使用 python 来处理 postgres 但这应该没有什么区别 query UPDATE comment SET score score DELETE
  • persistence.xml 中 jpa 的 C3p0 连接池不起作用?

    在尝试按照我能找到的所有示例配置 c3p0 后 我仍然遇到 JDBC 超时问题 我正在使用 JPA Hibernate Tomcat MySQL AWS RDS 这是 persistence xml 的片段
  • 需要 Django 表单集

    如何使 django formset 中的所有表单都成为必需的 我试图验证所有字段的存在cleaned data重写 formset 的 clean 方法 但它只是默默地失败 没有显示任何错误 Thanks 源代码 class BaseSc