#27554: Queryset evaluation fails with mix of nested and flattened prefetches
(AttributeError on RelatedManager)
-------------------------------------+-------------------------------------
Reporter: Anthony Leontiev | Owner: nobody
Type: Bug | Status: new
Component: Database layer | Version: 1.10
(models, ORM) |
Severity: Normal | Resolution:
Keywords: prefetch | Triage Stage: Accepted
AttributeError prefetch_related |
nested RelatedManager |
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by vimarshc):
Hey,
Just finished "bisecting the exact commit which introduced the
regression".
Posting my results here.
Git output:
{{{
bdbe50a491ca41e7d4ebace47bfe8abe50a58211 is the first bad commit
commit bdbe50a491ca41e7d4ebace47bfe8abe50a58211
Author: François Freitag <[email protected]>
Date: Sun Jan 10 17:54:57 2016 +0100
Fixed #25546 -- Prevented duplicate queries with nested
prefetch_related().
:040000 040000 5ad2af54d2f98566bbfdc23e04493e4c98262568
f3488a5f680bc5d4b18249aed299b6abd5f86de9 M django
:040000 040000 59faff56062b7a347956e24315e12beeb5c7d704
c4a686067f06b7056dafffa1013bfe3c018c5e52 M tests
bisect run success
}}}
I'll start trying to locate and fix the bug. I'll request the bug be
assigned to me once I'm confident I can resolve the issue.
I'm attaching a directory with the models and tests inside it.
This directory was inside the tests directory.
I've written three test cases out of which 2 are passing and one is
failing. (the one that is failing is
"test_case_for_nested_and_flat_prefetches")
[https://github.com/vimarshc/django Here] is a link to the django repo I
forked and I've pushed the aforementioned tests here too if someone wants
to get them from here.
They're on the nested-bug-1.10 branch.
--
Ticket URL: <https://code.djangoproject.com/ticket/27554#comment:4>
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 post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/067.ad34bdbfd7878e7473d4e0a4aa711a79%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.