Is frappe.form.link_formatters supposed to work

I need to change the displayed value of a link field and I assumed that using frappe.form.link_formatters would solve the problem
I added this to the js file for my doctype

frappe.ui.form.on('MyDoctype', {
  onload: function (frm) {
    console.log("onload formatter test");
    frappe.form.link_formatters['My Doctype I want to Display'] = function(value, doc) {
    console.log("onload formatter for my doctype value=" + value + "" +;
    return value + ":" +;

In the debugger window on my browser I see the console print my messages so the function is definitely being called but my link field never changes.
Looking through these forums I find these 2 threads
This one talks about how it only works with read-only fields

Here some one posted a bug report a year ago describing exactly what I am experiencing.

Is this supposed to work.
I am using
erpnext 10.1.64
frappe 10.1.56

Is there anyone who has tried this and gotten it to work. A simple “yes it worked for me” would lead me to look for what I am doing wrong. It is just that the supplied examples are clear and my code seems to be functioning but there is no apparent effect in the U.I.
Before I spend time writing my own method I would like to be sure that I am not duplicating something that works.
What I need is for the displayed text in the link field to show something that has business meaning and not be confined to showing something which has database meaning.
It is very confusing for users to see something like 96aefd when what they really need to see is a name that has meaning to them.

Were you able to solve it?

No I wasnt. This is a critical feature missing from erpnext

I just tried it on v13 and it works.
Follow the instructions here and it will work

it doesn’t work with me

Link formatters don’t seem to work anymore. Not for custom apps and not even for ERPNext (referring to Employee and Project link formatters)

Don’t worry with Link Formatters, “Title Links” already define it to you!
Please backto tutorial and you have to finish all 3 steps here:

Step #1
Doctype: Article (uncheck: Custom?)
Finish it.

Step #2
Doctype: Library Member (uncheck: Custom?)
Finish it.

Step #3
Doctype: Library Membership (uncheck: Custom?)
Finish it.

When you “Add Library Membership”… your problem is here… only displayed “LM.#####”

So you want to display “LM.#####” + full_name

Very simply, this no need additional change to *.py or *.js:
When you finished all 3 steps lets back to Step #2:

Edit your Doctype: Library Member:

  1. View Settings → Title Field: full_name
  2. View Settings → Search Fields: full_name

Save and Refresh everything…
Now “Add Library Membership” by click it… (even your can search item by full_name)
Thats it… hope help you…

Installed Apps:
Frappe Framework: v13.x.x-develop () (develop)
Library Management: v0.0.1 (master)

Salam dari Blok Wage Pasaleman Cirebon West Java… :)…

Special Characters except ‘-’, ‘#’, ‘.’, ‘/’, ‘{’ and ‘}’ not allowed in naming series LM.#####” + full_name

You can utilize view settings to elegantly present the ID alongside the name. This approach ensures a seamless display of information, enhancing user experience within your Frappe application