我正在尝试使用EventPage
表单来做一些复杂的事情。它通常具有一个“开始日期”和“结束日期”字段,它们在模型中是DateTimeField。我还想添加一个“全天”复选框,当选中该复选框时,它将“开始日期”字段的小部件从DateTimeInput转换为DateInput,因为“全天”事件仅在一天内发生。
我最初认为这很容易,因为我可以将“开始日期”字段添加到表单两次,然后设置一些自定义Javascript来删除该字段的非活动版本。不幸的是,由于我没有找到任何设置表单字段id
属性的方法,因此触发DateTime选择器小部件的代码会中断,因为最终在表单上有两个id="id_start_date"
字段。
因此,我试图更改窗口小部件的id
,但我完全不知道如何执行此操作。我尝试将FieldPanel子类化并覆盖id_for_label
,但似乎除了Title之外的任何字段都没有被调用。
有什么建议吗?