Django外键重复列

时间:2016-12-03 05:09:55

标签: python mysql django

我有一个现有的MySQL数据库,其中包含一个表,其中包含另一个表的外键。我在Django 1.10中使用了inspectdb来构建以下模型:

class Contested(models.Model):
    candidate = models.ForeignKey('Candidate',default=None)
    district = models.CharField(max_length=10)
    state = models.CharField(max_length=45)
    num_votes = models.IntegerField()
    per_votes = models.DecimalField(max_digits=3, decimal_places=2)
    incumbent = models.IntegerField()
    year = models.IntegerField()

    class Meta:
        managed = False 
        db_table = 'contested'
        unique_together =(("district","state","year","candidate","num_votes"),)

class Candidate(models.Model):
    first_name = models.CharField(max_length=45, blank=True, null=True)
    last_name = models.CharField(max_length=45)

    class Meta:
        managed = False
        db_table = 'candidate'

然而,当我尝试迁移时,我得到django.db.utils.OperationalError: (1060, "Duplicate column name 'candidate_id'") 我相信这是因为我的数据库中已经有了一个外键关系(列候选列表已经在Contested表中),但是Django正在尝试构建关系本身通过向Contested表添加列candidate_id(尽管托管为False)。

有没有办法让Django识别外键关系已经存在?

0 个答案:

没有答案