#33091: A FieldError should be raised when trying to update MTI inherited field
with F reference to child field
-------------------------------------+-------------------------------------
Reporter: Shai Berger | Owner: Abhijith
Type: | Ganesh
Cleanup/optimization | Status: assigned
Component: Database layer | Version: dev
(models, ORM) |
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by Shai Berger):
Replying to [comment:8 Bhuvnesh]:
> I think there is no direct way to get child field from opts of parent
model in inheritance.
That makes sense
> For the testcase provided by shai the value of field is None at
[https://github.com/django/django/blob/9da2210f121085e998dc7cedb783bc4568390b92/django/db/models/sql/query.py#L1631
this part] ,throwing different field error
[https://github.com/django/django/blob/9da2210f121085e998dc7cedb783bc4568390b92/django/db/models/sql/query.py#L1714
here.] Is it the expected behaviour?
No, that's the bug...
> or we are supposed to get the child field and later raise field error
{{{Joined field references are not permitted in this query.}}}
Yes, basically. Or, putting it another way (given your input): The
{{{update()}}} logic uses the parent model {{{opts}}}, because the fields
to be updated are all from that model; but then it uses the parent model
to resolve all references, and that is wrong if there are expressions
referencing the child model. Or, more succinctly: The move to the parent
model is too early.
--
Ticket URL: <https://code.djangoproject.com/ticket/33091#comment:9>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/01070184fd38436c-9130633a-ab46-4e00-a6ca-b3f26d3dc9ee-000000%40eu-central-1.amazonses.com.