Odoo module upgrades, done for you
Your module uses name_get(), which newer Odoo replaced
Around Odoo 17, the name_get() method was replaced by a computed _compute_display_name. Custom models that overrode name_get() stop showing the right display names until they're migrated.
The migration pattern
Before (Odoo 16 and earlier):
def name_get(self):
result = []
for record in self:
result.append((record.id, f"{record.code} — {record.name}"))
return result
After (Odoo 17+):
@api.depends("code", "name")
def _compute_display_name(self):
for record in self:
record.display_name = f"{record.code} — {record.name}"
The gotcha is the @api.depends: get it wrong and display names go stale after edits instead of erroring, which is worse — nobody notices until a customer does. Search-by-name overrides (_name_search) often need touching at the same time.
Send us the module. We port it to the new pattern, install, and test. Try it live, then $50 to download.
Try the working result before you pay a cent. No signup to get started.
Common questions
What replaced name_get() in Odoo?
A computed field method, _compute_display_name, populating the display_name field.