我需要根据用户在odoo中选择的月份来获取月份的开始日期和结束日期
Posted
技术标签:
【中文标题】我需要根据用户在odoo中选择的月份来获取月份的开始日期和结束日期【英文标题】:I need to fetch months starting date and ending date on the basis of the month chosen by the user in odoo 【发布时间】:2020-01-14 22:53:28 【问题描述】:我有一个问题,用户选择一个月,在此基础上我必须选择该月的开始和结束日期。(例如 -> 如果用户选择一月,则输出应该是 01/01/2019 和 31/ 01/2019)
我可以使用 postgresql 查询来获取当前月份的开始和结束日期。
这给出了当前月份的开始日期 - @api.model def get_start_date(self): self.env.cr.execute(""" 选择日期(date_trunc('月', 当前的日期));”””) first_date = self.env.cr.dictfetchall() 对于 first_date 中的 f: first_new_date = f['日期'] 返回 first_new_date
这给出了结束日期 -
@api.model def get_end_date(self): self.env.cr.execute(""" 选择日期(date_trunc('月', current_date) + 间隔 '1 个月 - 1 天'); """) end_date = self.env.cr.dictfetchall() 对于 end_date 中的 f: end_last_date = f['日期'] 返回 end_last_date
如果用户选择一月作为选择字段,我希望它应该给出一月的开始和结束日期。
【问题讨论】:
【参考方案1】:如果您想将该数据存储在 db 中,请使用 store=True:
output_field = fields.Char(compute='_get_data', store=True)
(或fields.Data)
然后使用onchange方法:
@api.onchange('selection_field_name')
def _get_data(self):
if self.selection_field_name:
self.output_field = **do some calculations**
【讨论】:
以上是关于我需要根据用户在odoo中选择的月份来获取月份的开始日期和结束日期的主要内容,如果未能解决你的问题,请参考以下文章