所以我试图默认填写一个 One2many 列表。我已经定义了一个基本字段,阅读 One2many 和 Many2many 的“特殊命令”,但由于某种原因它似乎不起作用(没有错误消息或其他任何内容,只是没有填充它)
我的代码:
@api.one
def _get_competitions(self):
result = []
values = {'name': 'test', 'xx_price': 550, 'xx_seats_left': 50, 'xx_attending': True}
result.append((0, 0, values))
return result
xx_competitions_attendee = fields.One2many('xx.competition.attendee', 'xx_event_id', string="Competitions", default=_get_competitions)
对其进行了一些修改,现在我只是返回了一个搜索结果,但列表仍然没有被填满:
@api.model
def _get_competitions(self):
return self.env['xx.competition.attendee'].search([('xx_event_id.id', '=', self._context.get('active_ids')[0])])
xx_competitions_attendee = fields.One2many('xx.competition.attendee', 'xx_event_id', string="Competitions", default=_get_competitions)
我已经在另一个模型中设置了 Many2one 关系,我认为我应该在这里发布它并不重要,但可以肯定的是:
class CompetitionAttendee(models.Model):
_name = 'xx.competition.attendee'
xx_event_id = fields.Many2one('event.event', string="Event")