【问题标题】:OpenERP How to make a button invisible when datetime field != date todayOpenERP如何在日期时间字段时使按钮不可见!=今天的日期
【发布时间】:2013-02-07 06:12:17
【问题描述】:

在python中,我有以下字段:

'transaction_date': fields.datetime('Transaction Date')

在 XML 中,我有以下内容:

<field
    name="transaction_date"
    readonly="True"
    />

<button
    name="set_void"
    string="Void"
    type="object"
    icon="gtk-cancel"
    groups="mymodule.mygroup"
    attrs="{'invisible':[('transaction_date','!=', datetime.now())]}"
    />

上面的 attrs 代码目前不起作用,但我想做的是: 仅当 transaction_date 字段的日期值 = 今天时,才能显示“无效”按钮。这可能吗?

【问题讨论】:

  • 您使用的是哪个版本的 OpenERP?

标签: xml openerp


【解决方案1】:

如果您使用的是 v7,那么试试这个 attrs

attrs="{'invisible':[('transaction_date','!=',__import__('time').strftime('%%Y-%%m-%%d %%H:%%M:%%S'))]}"


如果您使用的是 v6v6.1,请尝试以下 attrs

attrs="{'invisible':[('transaction_date','!=',time.strftime('%%Y-%%m-%%d %%H:%%M:%%S'))]}"

我建议您使用fields.date 而不是fields.datetime,因为您的字段将不会以 datetime 格式显示,因为无论何时您都会选择 date & 时间,秒数不匹配。

如果您将使用 fields.date,请在 attrs 中使用 time.strftime('%%Y-%%m-%%d')

谢谢。

【讨论】:

  • 艾莉亚-谢谢伙计。哦,我认为有一种方法可以以某种方式在 XML 上格式化我的 fields.datetime transaction_date 以仅获取日期。我真的需要记录transaction_date的时间
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-28
  • 1970-01-01
  • 2018-01-13
  • 1970-01-01
  • 1970-01-01
  • 2015-12-15
  • 1970-01-01
相关资源
最近更新 更多