如何使用Dexterity将schema.Datetime字段设置为None

时间:2011-09-01 14:48:32

标签: plone dexterity

我正在使用Dexterity编写一个简单的内容类型来管理客户,除了常用字段,例如姓名,公司,电话...... 我还在第一次见面时添加了一个Datetime字段来存储 客户已被关注,我们称之为'firstmeeting',我已经定义了 在我的界面ICustomers中:

firstmeeting = schema.Datetime(
        title=_(u"First Meeting"),
        required=False,
    )

现在,我注意到当我保存新的客户文档时,第一次会议 即使我没有设置任何日期,字段也已填充当前日期 在形式上,这不是我想要的,因为没有与之相遇 客户已经举行了。所以我想知道如何设置None值 对于这个字段,所以不会显示任何内容。

我一直在尝试使用Martin Aspeli在其中解释的自定义课程 http://plone.org/products/dexterity/documentation/manual/developer-manual/advanced/classes 但我不知道如何检查用户输入并设置无值,如果没有 输入了。

由于

2 个答案:

答案 0 :(得分:0)

您是否尝试过default=None

答案 1 :(得分:0)

我发现我的代码中发生了什么。

实际上问题出在模板view.pt中,我用过lococalTime()函数, 这是将None值转换为当前日期,所以我添加了tal:condition来打印日期值。

<span id="form-widgets-firstmeeting" class="datetime-widget datetime-field"
      tal:condition="context/firstmeeting"
      tal:content="python:context.toLocalizedTime(context.firstmeeting)" />