したがって、デフォルトで 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")