Opened 9 years ago
Closed 9 years ago
#24998 closed Bug (duplicate)
ManyToManyField generating wrong query
Reported by: | Arthur Rio | Owned by: | nobody |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | dev |
Severity: | Normal | Keywords: | ManyToManyField, bad query |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
If two models have a ManyToManyField pointing to the same model, the query generated for the lookup is incorrect. I have created a repo on github with a simple test (https://github.com/arthurio/manytomanybug/releases/tag/v1.0) and you can also find the code enclosed as a .zip file.
There are 3 models:
- Upload: that will be common to several other models.
- FormA with a ManyToManyField to the Upload model.
- FormB with a ManyToManyField to the Upload model.
When trying to do formAinstance.signature.all(), the query generated is using the FormB table to do the join instead of the FormA table.
Attachments (2)
Change History (6)
by , 9 years ago
Attachment: | manytomanybug-1.0.zip added |
---|
comment:1 by , 9 years ago
Description: | modified (diff) |
---|
comment:2 by , 9 years ago
This looks like it might be a duplicate of #24505 (fixed in master, but not 1.8). Can you reproduce the issue against master?
comment:3 by , 9 years ago
If you define the related_name with a unique name, the bug goes away. There is probably something going on when setting the _hints of the related field.
comment:4 by , 9 years ago
Resolution: | → duplicate |
---|---|
Status: | new → closed |
Django project containing the test