﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
31382	Silent failure when saving non-concrete field with update_fields	Peter Law	Pat Garcia	"If you have a non-concrete field which wraps a couple of concrete fields (a bit like `GenericForeignKey`, though my codebase doesn't uses this for compound data types rather than relations), then when you pass the name of that non-concrete field to `save(update_fields=('my_non_concrete_field',))`, the model will be saved '''without''' saving that field and yet no error will be emitted.

I think that this could be because the check for the validity of the `update_fields` is done against `meta.fields` (https://github.com/django/django/blob/5c8441a0b8787c14b45fb761550571baea48604e/django/db/models/base.py#L714-L737) while the later check for which fields to actually save is done using `meta.local_concrete_fields` (https://github.com/django/django/blob/5c8441a0b8787c14b45fb761550571baea48604e/django/db/models/base.py#L838-L844).

Ideally, I would like a way for a non-concrete field to be able to specify the underlying concrete fields which should be saved on its behalf. That's clearly rather complex though (and would likely have impacts beyond just `update_fields`) -- a simpler solution would be to error about this case so that the developer knows something is amis."	Bug	closed	Database layer (models, ORM)	dev	Normal	fixed			Accepted	1	0	0	0	0	0
