我正在尝试创建一个测试数据库,该数据库是现有数据库的副本。为了做到这一点,我正在使用Django模型(理论上是与原始数据库一起使用的模型)。我最近从其他人那里继承了该代码,并试图弄清楚代码到底在发生什么。
在模型中,其中一个表有两列被标识为主键。
column1 = models.IntegerField(primary_key = True)
column2 = models.IntegerField(primary_key = True)
column3 = models.CharField(max_length = 30)
当我尝试将此模型同步到测试数据库时,发生错误:
File"/somePathHere/MySQLdb/connections.py", line 36, in defaulterrorhandler raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1068, 'Multiple primary key defined')
在Django文档中,Django不允许使用多个主键。但是,查看原始MySQL数据库中的DESCRIBE [tablename]的输出,看来这正是这里发生的情况:
+------------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------+------+-----&