gpt4 book ai didi

python - Odoo 10 - 检索另一个模型的字段值

转载 作者:太空宇宙 更新时间:2023-11-03 21:46:00 26 4
gpt4 key购买 nike

这里是代码:

目标模型:

class SchoolYears(models.Model):

_name = "ecole.partner.school.years"
_rec_name = "school_years" # POUR ASSIGNER PAR DEFAUT UN AUTRE CHAMP AUTRE QUE NAME
_order = 'id desc'

school_years = fields.Char(string='School year', required=True, copy=False)
year_begin_date = fields.Date(string='Start date', required=True, copy=False)
year_end_date = fields.Date(string='End date', required=True, copy=False)
default_school_year = fields.Boolean(string='Current school year', copy=False)
period_school_year = fields.Boolean(string='Registration period', copy=False)
active = fields.Boolean(default=True)

目标字段:->year_begin_date = fields.Date(string='开始日期', required=True, copy=False)

我想要访问字段的模型:

class ResPartnerSchool(models.Model):

_name = 'ecole.partner.school'
_order = 'id desc'

@api.multi
def _get_begin_date(self):
domain = [('period_school_year', '=', False), ('default_school_year', '=', True)]
begin_date_id = self.env['ecole.partner.school.years'].search(domain, limit=1).year_begin_date
begin_date = fields.Date.from_string(begin_date_id)
date_j = datetime.date.today()
if begin_date_id:
if begin_date > date_j:
return begin_date_id
else:
return date_j
...
school_year_id = fields.Many2one(string='Period',
ondelete='SET NULL',
comodel_name="ecole.partner.school.years",
default=_get_period_year)
school_registration = fields.Date(string='Beginning',
copy=False,
default=_get_begin_date)
...

这是 View : enter image description here我想获得与 school_years 相关的学年的正确开始日期,它的类型为 char,并且是模型 ecole.partner.school 中的 Many2one。我知道有很多方法可以做到这一点,特别是在“相关领域”。除了我有一个功能可以让我在学年满时恢复学年开始时的日期。目前我的函数是用“hard”编写的 -> 这是我们在变量“domain”中看到的。而且我不想在 school_registration 字段中使用“相关字段”。

您有办法在选择学年时确定正确的开始日期吗?

谢谢

最佳答案

您可以尝试使用计算字段:

school_year_id = fields.Many2one(string='Period',
ondelete='SET NULL',
comodel_name="ecole.partner.school.years",
default=_get_period_year)
school_registration = fields.Date(string='Beginning',
copy=False,
compute=_get_begin_date)

@api.multi
@api.depends('school_year_id')
def _get_begin_date(self):
for record in self:
record.school_registration = record.school_year_id.year_begin_date

关于python - Odoo 10 - 检索另一个模型的字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52493016/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com