[Design] why do we overwrite manual changes with fetch_from?


Why do we overwrite manual changes with fetch_from (introduced in v11)?
Wouldn’t the better alternative be to let them stay?

I have a mandatory field with fetches from a non-mandatory field. Now, even if I enter a value, upon save it gets erased (because non-mandatory field empty) and throws error. I’ve read the note now, but it feels counter-intuitive.

Also, considering the people’s code in options behaved differently (migrated in v11), this feels incorrect.

Refer: fix(fetch): fetch_from will always update after save · frappe/frappe@00fc9c9 · GitHub

Fetch values are updated when the referenced document is updated, so it is designed to be consistent.

1 Like