mirror of
https://github.com/django/django.git
synced 2025-11-27 13:55:26 +00:00
Fixed #29727 -- Made nonexistent joins in F() raise FieldError.
Regression in 2162f0983d.
This commit is contained in:
parent
aa16ec5474
commit
f315d0423a
3 changed files with 10 additions and 2 deletions
|
|
@ -1594,10 +1594,13 @@ class Query:
|
|||
else:
|
||||
field_list = name.split(LOOKUP_SEP)
|
||||
join_info = self.setup_joins(field_list, self.get_meta(), self.get_initial_alias(), can_reuse=reuse)
|
||||
targets, _, join_list = self.trim_joins(join_info.targets, join_info.joins, join_info.path)
|
||||
targets, final_alias, join_list = self.trim_joins(join_info.targets, join_info.joins, join_info.path)
|
||||
if len(targets) > 1:
|
||||
raise FieldError("Referencing multicolumn fields with F() objects "
|
||||
"isn't supported")
|
||||
# Verify that the last lookup in name is a field or a transform:
|
||||
# transform_function() raises FieldError if not.
|
||||
join_info.transform_function(targets[0], final_alias)
|
||||
if reuse is not None:
|
||||
reuse.update(join_list)
|
||||
col = _get_col(targets[0], join_info.targets[0], join_list[-1], simple_col)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue