﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
25813	inspectdb generates incorrect field names for unique_together	Minsoo Kim	nobody	"Hi, I'm currently using Django with MySQL and having some trouble with models.py generated by inspectdb command.

So, DDL First : 


{{{
CREATE TABLE YDB_Collects (
    COriginal_Data_Type_ID VARCHAR(16) NOT NULL,
    CTask_Name VARCHAR(16) NOT NULL,
    PRIMARY KEY (COriginal_Data_Type_ID, CTask_Name),
    INDEX FK_COLLECTS_TASK (CTask_Name),
    CONSTRAINT FK_COLLECTS_ORIGINAL_DATA_TYPE FOREIGN KEY (COriginal_Data_Type_ID) REFERENCES YDB_Original_Data_Type (Original_Data_Type_ID),
    CONSTRAINT FK_COLLECTS_TASK FOREIGN KEY (CTask_Name) REFERENCES YDB_Task (Task_Name)
)
}}}


And Django's 'inspectdb' command gave me this model : 


{{{
class YdbCollects(models.Model):
    coriginal_data_type = models.ForeignKey('YdbOriginalDataType', db_column='COriginal_Data_Type_ID')  # Field name made lowercase.
    ctask_name = models.ForeignKey('YdbTask', db_column='CTask_Name')  # Field name made lowercase.

    class Meta:
        managed = False
        db_table = 'ydb_collects'
        unique_together = (('COriginal_Data_Type_ID', 'CTask_Name'),)

}}}

And when I run 'makemigrations' command, It gives me error message : 'unique-together refers to the non-existent field 'COriginal_Data_Type_ID' and 'CTask_Name'.

When I change


{{{
 unique_together = (('COriginal_Data_Type_ID', 'CTask_Name'),)
}}}

Into


{{{
unique_together = (('coriginal_data_type ', 'ctask_name'),)
}}}

then It goes OK but is this correct way to go? 

Seems like code below has different schema from my DDL...Original foreign key I defined was id of data type, not data type itself.

Did I do something wrong here? Why does unique_together() has column name, not field names? Every Django models generated with MySQL's ''PRIMARY_KEY(Key1, Key2, ...)'' gives me this error!"	Bug	closed	Database layer (models, ORM)	1.8	Normal	duplicate	inspectdb, MySQL		Unreviewed	0	0	0	0	0	0
