Skip to Content
Odoo model

survey.question

Survey Question. Defined in module survey; exists in Odoo 16, 17, 18, 19, 20. Across the upgrade steps we tracked: 18 fields added, 5 removed, 0 renamed.

  1. Odoo 16 survey
  2. Odoo 17 survey
  3. Odoo 18 survey
  4. Odoo 19 survey
  5. Odoo 20 survey

Odoo 16 to 17

Community only All changes in this step

Fields removed (3)

FieldTypeModuleNotes
is_conditionalbooleansurvey
triggering_answer_idmany2onesurvey
triggering_question_idmany2onesurvey

Fields added (4)

FieldTypeModule
allowed_triggering_question_idsmany2manysurvey
is_placed_before_triggerbooleansurvey
triggering_answer_idsmany2manysurvey
triggering_question_idsmany2manysurvey

Odoo 17 to 18

Community only All changes in this step

Fields added (10)

FieldTypeModule
has_image_only_suggested_answerbooleansurvey
is_time_customizedbooleansurvey
scale_maxintegersurvey
scale_max_labelcharsurvey
scale_mid_labelcharsurvey
scale_minintegersurvey
scale_min_labelcharsurvey
session_availablebooleansurvey
survey_session_speed_ratingbooleansurvey
survey_session_speed_rating_time_limitintegersurvey

Odoo 18 to 19

Community + Enterprise All changes in this step

Fields added (2)

FieldTypeModule
generate_leadbooleansurvey_crm
survey_typeselectionsurvey_crm

Odoo 19 to 20

Community + Enterprise All changes in this step

Fields removed (2)

FieldTypeModuleNotes
has_image_only_suggested_answerbooleansurvey
scale_mid_labelcharsurvey

Fields added (2)

FieldTypeModule
scale_max_label_placeholdercharsurvey
scale_min_label_placeholdercharsurvey

All fields declared on survey.question (64)

Fields this model declares itself in any version, with the versions they exist in. Inherited fields (mail.thread and other mixins) are on the parent model's page.

present not present not covered (Enterprise, Odoo 16 and 17)

Show all 64 fields
FieldTypeLabelModule1617181920
allowed_triggering_question_idsmany2many survey.questionAllowed Triggering Questionssurvey
answer_datedateCorrect date answersurvey
answer_datetimedatetimeCorrect datetime answersurvey
answer_numerical_boxfloatCorrect numerical answersurvey
answer_scorefloatScoresurvey
background_imageimageBackground Imagesurvey
background_image_urlcharBackground Urlsurvey
comment_count_as_answerbooleanComment is an answersurvey
comments_allowedbooleanShow Comments Fieldsurvey
comments_messagecharComment Messagesurvey
constr_error_msgcharError messagesurvey
constr_mandatorybooleanMandatory Answersurvey
descriptionhtmlDescriptionsurvey
generate_leadbooleanLead Generatingsurvey_crm
has_image_only_suggested_answerbooleanHas image only suggested answersurvey
is_conditionalbooleanConditional Displaysurvey
is_pagebooleanIs a page?survey
is_placed_before_triggerbooleanIs misplaced?survey
is_scored_questionbooleanScoredsurvey
is_time_customizedbooleanCustomized speed rewardssurvey
is_time_limitedbooleanThe question is limited in timesurvey
matrix_row_idsone2many survey.question.answerMatrix Rowssurvey
matrix_subtypeselectionMatrix Typesurvey
page_idmany2one survey.questionPagesurvey
question_idsone2many survey.questionQuestionssurvey
question_placeholdercharPlaceholdersurvey
question_typeselectionQuestion Typesurvey
questions_selectionselectionsurvey
random_questions_countinteger# Questions Randomly Pickedsurvey
save_as_emailbooleanSave as user emailsurvey
save_as_nicknamebooleanSave as nicknamesurvey
scale_maxintegerScale Maximum Valuesurvey
scale_max_labelcharScale Maximum Labelsurvey
scale_max_label_placeholdercharMax Label Placeholdersurvey
scale_mid_labelcharScale Middle Labelsurvey
scale_minintegerScale Minimum Valuesurvey
scale_min_labelcharScale Minimum Labelsurvey
scale_min_label_placeholdercharMin Label Placeholdersurvey
scoring_typeselectionScoring Typesurvey
sequenceintegerSequencesurvey
session_availablebooleanLive Session availablesurvey
suggested_answer_idsone2many survey.question.answerTypes of answerssurvey
survey_idmany2one survey.surveySurveysurvey
survey_session_speed_ratingbooleansurvey
survey_session_speed_rating_time_limitintegerGeneral Time limit (seconds)survey
survey_typeselectionsurvey_crm
time_limitintegerTime limit (seconds)survey
titlecharTitlesurvey
triggering_answer_idmany2one survey.question.answerTriggering Answersurvey
triggering_answer_idsmany2many survey.question.answerTriggering Answerssurvey
triggering_question_idmany2one survey.questionTriggering Questionsurvey
triggering_question_idsmany2many survey.questionTriggering Questionssurvey
user_input_line_idsone2many survey.user_input.lineAnswerssurvey
validation_emailbooleanInput must be an emailsurvey
validation_error_msgcharValidation Errorsurvey
validation_length_maxintegerMaximum Text Lengthsurvey
validation_length_minintegerMinimum Text Lengthsurvey
validation_max_datedateMaximum Datesurvey
validation_max_datetimedatetimeMaximum Datetimesurvey
validation_max_float_valuefloatMaximum valuesurvey
validation_min_datedateMinimum Datesurvey
validation_min_datetimedatetimeMinimum Datetimesurvey
validation_min_float_valuefloatMinimum valuesurvey
validation_requiredbooleanValidate entrysurvey

Related models

Linked by its relational fields: survey.question.answersurvey.surveysurvey.user_input.line

Coverage. Odoo 16 to 17 and 17 to 18 compare Community modules only (the Enterprise 16 and 17 sources are not available to us). Odoo 18 to 19 and 19 to 20 include Community and Enterprise modules. Everything here comes from a static read of the Odoo source code: a field counts as removed only when no parent model, mixin or delegated model still provides it. Fields created dynamically at run time can be missed, and entries we could not confirm are marked as low confidence.