mirror of
https://github.com/django/django.git
synced 2025-10-30 00:56:09 +00:00
Fixed #15161 - Corrected handling of ManyToManyField with through table using to_field on its ForeignKeys. Thanks to adehnert for the report.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15330 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
@@ -1282,12 +1282,14 @@ class Query(object):
|
||||
to_col2, opts, target) = cached_data
|
||||
else:
|
||||
table1 = field.m2m_db_table()
|
||||
from_col1 = opts.pk.column
|
||||
from_col1 = opts.get_field_by_name(
|
||||
field.m2m_target_field_name())[0].column
|
||||
to_col1 = field.m2m_column_name()
|
||||
opts = field.rel.to._meta
|
||||
table2 = opts.db_table
|
||||
from_col2 = field.m2m_reverse_name()
|
||||
to_col2 = opts.pk.column
|
||||
to_col2 = opts.get_field_by_name(
|
||||
field.m2m_reverse_target_field_name())[0].column
|
||||
target = opts.pk
|
||||
orig_opts._join_cache[name] = (table1, from_col1,
|
||||
to_col1, table2, from_col2, to_col2, opts,
|
||||
@@ -1335,12 +1337,14 @@ class Query(object):
|
||||
to_col2, opts, target) = cached_data
|
||||
else:
|
||||
table1 = field.m2m_db_table()
|
||||
from_col1 = opts.pk.column
|
||||
from_col1 = opts.get_field_by_name(
|
||||
field.m2m_reverse_target_field_name())[0].column
|
||||
to_col1 = field.m2m_reverse_name()
|
||||
opts = orig_field.opts
|
||||
table2 = opts.db_table
|
||||
from_col2 = field.m2m_column_name()
|
||||
to_col2 = opts.pk.column
|
||||
to_col2 = opts.get_field_by_name(
|
||||
field.m2m_target_field_name())[0].column
|
||||
target = opts.pk
|
||||
orig_opts._join_cache[name] = (table1, from_col1,
|
||||
to_col1, table2, from_col2, to_col2, opts,
|
||||
|
||||
Reference in New Issue
Block a user