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 Alex Gaynor)

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.

Change History (1)

comment:1 by Alex Gaynor, 15 years ago

Description: modified (diff)

Fixed formatting, please use preview.

Note: See TracTickets for help on using tickets.
Back to Top