Opened 15 years ago

Last modified 13 years ago

#12559 closed

Wrong SQL in M2M fields — at Initial Version

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

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 (0)

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