[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: https://github.com/frappe/frappe/commit/00fc9c9b1c501f1858e61426efd6c0b6112dfd91#diff-275b3c6438a6a531911b3900775bdabfR455

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

1 Like