Поэтому я пытаюсь заполнить список 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")