Opened 15 years ago
Last modified 13 years ago
#12559 closed
Wrong SQL in M2M fields — at Version 1
Reported by: | anonymous | Owned by: | nobody |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | 1.2-alpha |
Severity: | Keywords: | ||
Cc: | andrey.offline@… | 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 )
I have some strange problem after updating to the 1.2 alpha version.
My simplified model is
class Sticker(models.model): telephones = models.ManyToManyField("account.Telephone")
when i run
sticker = Sticker.object.get(pk=1) sticker.telephones.all()
Django generated sql is:
u'SELECT `account_telephone`.`id`, `account_telephone`.`tel_city`, `account_telephone`.`tel_number`, `account_telephone`.`profile_id` FROM `account_telephone` INNER JOIN `service_sticker_telephones` ON (`account_telephone`.`id` = `service_sticker_telephones`.`account.telephone_id`) WHERE `service_sticker_telephones`.`sticker_id` = 1'
The wrong thing is service_sticker_telephones.
account.telephone_id , it should be service_sticker_telephones
.telephone_id
, but somehow the application name was added. Even more interesting is that in my model i have another M2M field that works well.
I tried to debug, but ORM layer is to complex for me. By the way, my backend is MySQL.
Note:
See TracTickets
for help on using tickets.
Fixed formatting, please use preview.