In 1.6 this fails in django.contrib.admin.util.get_model_from_relation
where the model on the wrong side of the relationship is returned, when
the correct model is available via the parent_model attribute.
I've created a fix and test case here:
https://github.com/django/django/pull/1913
Although as discussed, the fix should probably be different.
--
Ticket URL: <https://code.djangoproject.com/ticket/21431>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* needs_better_patch: => 0
* needs_docs: => 0
* needs_tests: => 0
* stage: Unreviewed => Accepted
Comment:
A proposed patch for 1.6.x in
https://github.com/akaariai/django/commit/c895dd39ae4e7687b57ff01ecfcc27caf70323ed.
There are two issues I am concerned with:
- Is the tests in the correct place, and are the inline models the
correct way forward?
- Is there more similar regressions in admin? The get_field_by_name()
method is used a lot for constructing relations, path names etc. Maybe
some of those are affected too.
In general the admin code should be DRYed up a little when it comes to
relation path generation.
For master the elif branches in admin/util.py could be removed, it
shouldn't be hit at all, but for 1.6 could cause more regressions
(shouldn't, but can't assert it doesn't).
--
Ticket URL: <https://code.djangoproject.com/ticket/21431#comment:1>
Comment (by stephenmcd):
Thanks akaariai - I can confirm the above path resolves the issue in
Mezzanine.
--
Ticket URL: <https://code.djangoproject.com/ticket/21431#comment:2>
* status: new => closed
* resolution: => fixed
Comment:
In [changeset:"752d3d70da6291039f33781a0a2ef6f3b7c5fcb5"]:
{{{
#!CommitTicketReference repository=""
revision="752d3d70da6291039f33781a0a2ef6f3b7c5fcb5"
Fixed #21431 -- GenRel->FK list_filter regression in admin
Report, analysis and tests from stephenmcd.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/21431#comment:3>
Comment (by Anssi Kääriäinen <akaariai@…>):
In [changeset:"5730bf281922151f211a2509dd8b493230d6a187"]:
{{{
#!CommitTicketReference repository=""
revision="5730bf281922151f211a2509dd8b493230d6a187"
[1.6.x] Fixed #21431 -- GenRel->FK list_filter regression in admin
Report, analysis and tests from stephenmcd.
Backpatch of 752d3d70da6291039f33781a0a2ef6f3b7c5fcb5 from master.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/21431#comment:4>