两个日期之间的计算天数自动odoo

时间:2018-04-02 10:31:49

标签: odoo-10

在odoo 10中,我想要一个计算字段来计算当前日期和其他日期之间的每天差异: 这是我的代码:

Python:

days_number = fields.Integer('Days remaining', compute='_compute_remaining_days', store=True)
@api.depends('maturity_date')
def _compute_remaining_days(self):
    current_date = datetime.datetime.now().date()
    date1 = False
    if self.maturity_date:
        date1 = datetime.datetime.strptime(self.maturity_date, "%Y-%m-%d")

    date2 = datetime.datetime.strptime(str(current_date), "%Y-%m-%d")
    date3 = date1 - date2
    date = int(date3.days)
    self.days_number = date

XML:

 <record id="ir_cron_remain_days" model="ir.cron">
    <field name="name">Remaining Days</field>
    <field eval="True" name="active"/>
    <field name="user_id" ref="base.user_root"/>
    <field name="interval_number">1</field>
    <field name="interval_type">days</field>
    <field name="numbercall">-1</field>
    <field eval="False" name="doall"/>
    <field name="model">tresorerie_test.account.payment.maturity</field>
    <field name="function">_compute_remaining_days</field>
    <field name="args">()</field>
</record>

字段未自动获取值的问题。

你能帮我解决一下吗?

亲切的问候

1 个答案:

答案 0 :(得分:1)

  • 如果您已经提供了&#39; days_number&#39; xml视图中的字段然后删除 store = True它会按预期工作。
  • 没有必要在整数中输入强制转换,你已经得到一个整数

    start = date(2018,04,03) end = date(2018,04,10) ans = end - start print ans.days