old_contents: # -*- coding: utf-8 -*-
  # Part of Odoo. See LICENSE file for full copyright and licensing details.
  
  from odoo import fields, models
  
  
  class EventRegistration(models.Model):
      """ Store answers on attendees. """
      _inherit = 'event.registration'
  
      registration_answer_ids = fields.One2many('event.registration.answer', 'registration_id', string='Attendee Answers')
  
  class EventRegistrationAnswer(models.Model):
      """ Represents the user input answer for a single event.question """
      _name = 'event.registration.answer'
      _description = 'Event Registration Answer'
  
      question_id = fields.Many2one('event.question', required=True, ondelete='cascade')
      registration_id = fields.Many2one('event.registration', required=True, ondelete='cascade')
      partner_id = fields.Many2one('res.partner', related='registration_id.partner_id')
      event_id = fields.Many2one('event.event', related='registration_id.event_id')
      question_type = fields.Selection(related='question_id.question_type')
      value_answer_id = fields.Many2one('event.question.answer', string="Suggested answer")
      value_text_box = fields.Text('Text answer')
  
      _sql_constraints = [
          ('value_check', "CHECK(value_answer_id IS NOT NULL OR COALESCE(value_text_box, '') <> '')", "There must be a suggested value or a text value.")
      ]
  
new_contents: # -*- coding: utf-8 -*-
  # Part of Odoo. See LICENSE file for full copyright and licensing details.
  
  from odoo import fields, models
  
  
  class EventRegistration(models.Model):
      """ Store answers on attendees. """
      _inherit = 'event.registration'
  
      registration_answer_ids = fields.One2many('event.registration.answer', 'registration_id', string='Attendee Answers')
  
  class EventRegistrationAnswer(models.Model):
      """ Represents the user input answer for a single event.question """
      _name = 'event.registration.answer'
      _description = 'Event Registration Answer'
  
      question_id = fields.Many2one(
          'event.question', ondelete='restrict', required=True,
          domain="[('event_id', '=', event_id)]")
      registration_id = fields.Many2one('event.registration', required=True, ondelete='cascade')
      partner_id = fields.Many2one('res.partner', related='registration_id.partner_id')
      event_id = fields.Many2one('event.event', related='registration_id.event_id')
      question_type = fields.Selection(related='question_id.question_type')
      value_answer_id = fields.Many2one('event.question.answer', string="Suggested answer")
      value_text_box = fields.Text('Text answer')
  
      _sql_constraints = [
          ('value_check', "CHECK(value_answer_id IS NOT NULL OR COALESCE(value_text_box, '') <> '')", "There must be a suggested value or a text value.")
      ]
  
subject: add domain on answer question_id