# Model \_rec\_name not show in Wizard form

**URL:** <https://discuss.tryton.org/t/model-rec-name-not-show-in-wizard-form/8971>\
**Category:** Developer\
**Created:** [November 20, 2025, 4:41am UTC](https://discuss.tryton.org/t/model-rec-name-not-show-in-wizard-form/8971 "2025-11-20T04:41:51Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![bromoapp](https://discuss-cdn.tryton.org/letter_avatar_proxy/v4/letter/b/71c47a/32.png) [@bromoapp](https://discuss.tryton.org/u/bromoapp)\
**Post date:** [November 20, 2025, 4:41am UTC](https://discuss.tryton.org/t/model-rec-name-not-show-in-wizard-form/8971/1 "2025-11-20T04:41:51Z")

</div>

I have a class as below:

```auto
lass ProjectPeriod(ModelSQL, ModelView):
    "Project Period"
    __name__ = "afx.project.period"
    _rec_name = 'ref_doc'

```

And I have a wizard class as below:

```auto
class ProjectMemberWizardForm(ModelView):
    'Project Member Form'
    __name__ = 'afx.project.member.wizard.form'

    proj_id = fields.Integer('Project ID')
    proj_phase = fields.Char('Project Phase')
    period = fields.Many2One('afx.project.period', "Period", required=True,
        domain=[
            ('project', '=', Eval('proj_id', None)),
            ('proj_phase', '=', Eval('proj_phase', None)),
        ],
    )

    mode = fields.Selection([
        ('NEW_MEMBER', 'Add New Member'),
        ('REPLACEMENT', 'Add Replacement'),
    ], 'Mode', required=True)

    @fields.depends('period')
    def on_change_period(self):
        logger.info('='*50)
        if self.period:
            logger.info(f'>>>>>>>>>>>>>>>>> PERIOD: {self.period.id}')
        logger.info('='*50)

class ProjectMemberWizard(Wizard):
    'Project Member Wizard'
    __name__ = 'afx.project.member.wizard'

    start_state = 'start'

    start = StateView(
        'afx.project.member.wizard.form',
        'afx_project.project_member_wizard_view_form',
        [
            Button('Cancel', 'end', 'tryton-cancel'),
            Button('Add', 'generate', 'tryton-ok', default=True),
        ]
    )

    generate = StateTransition()

    def default_start(self, fields):
        logger.info('='*50)
        logger.info(f'>>>>>>>>>>>> FIELDS {fields}')
        projects = self.records
        if projects:
            project = projects[0]

            logger.info('='*50)
            return { 
                'proj_phase': project.proj_phase,
                'proj_id': project.id,
            }
        else:
            logger.info('='*50)
            raise UserError('Project not found!')

    def transition_generate(self):
        logger.info('')
        return 'end'

```

My xml form for the wizard as below:

```auto
<form>
    <label name="period"/>
    <field name="period"/>
    <newline/>
    <label name="mode"/>
    <field name="mode"/>
</form>

```

After selecting a Period, the period field shows a blank like below:

 ![image](https://discuss-cdn.tryton.org/uploads/default/original/2X/6/61a22c82b29e9d4ec60ee68cf53fa3a6d8b8c89c.png)

What did I do wrong at my code?.. why the selected Period \_rec\_name not appears?  
I do logging on on\_change\_period method, and I can see the ID of selected Period.

This is not happening in a normal form.. only at Wizard form

This empty or blank makes the form cannot be process further, the error is like below:

 ![image](https://discuss-cdn.tryton.org/uploads/default/original/2X/b/ba9eb1b952c3b841cc00023ce9a7c9a5d6cd19fc.png)

I really need help. Thank you

Bromo

---

<div class="post-metadata">

**Author:** ![ced](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/ced/32/1237_2.png) [@ced](https://discuss.tryton.org/u/ced)\
**Post date:** [November 20, 2025, 7:31am UTC](https://discuss.tryton.org/t/model-rec-name-not-show-in-wizard-form/8971/2 "2025-11-20T07:31:46Z")

</div>

The field, that `rec_name` is pointing to, must be required.
