【发布时间】:2018-04-02 10:31:48
【问题描述】:
在 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>
字段没有自动取值的问题。
我该如何解决这个问题?
【问题讨论】:
-
你需要用timedelta来表示两个日期之间的差异
-
我会从字段中删除计算方法,自动功能应该更新字段。每次需要值时都会执行字段上的计算方法
标签: odoo-10