#12559: Wrong SQL in M2M fields
------------------------------------------+---------------------------------
Reporter: anonymous | Owner: nobody
Status: new | Milestone: 1.2
Component: Database layer (models, ORM) | Version: 1.2-alpha
Keywords: | Stage: Unreviewed
Has_patch: 0 |
------------------------------------------+---------------------------------
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.
--
Ticket URL: <
http://code.djangoproject.com/ticket/12559>
Django <
http://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.