我使用Django版本1.10.1,我必须使用具有只读权限的外部数据库。 我用inspectdb命令生成了我的模型。一切正常,直到我将一个字段更改为外键,因为我必须包含inspectdb没有检测到的关系。 我在两个表中都定义了主键,但是当我定义外键django在参考中寻找id字段时,数据库中不存在。
我得到的错误:
(1054, "Unknown column 'vicidial_callbacks.lead_id_id' in 'field list'")
这是我的模特:
class VicidialList(models.Model):
_DATABASE = "dialer"
lead_id = models.AutoField(primary_key=True)
entry_date = models.DateTimeField(blank=True, null=True)
modify_date = models.DateTimeField()
status = models.CharField(max_length=50, blank=True, null=True)
user = models.CharField(max_length=20, blank=True, null=True)
vendor_lead_code = models.CharField(max_length=20, blank=True, null=True)
source_id = models.CharField(max_length=50, blank=True, null=True)
list_id = models.BigIntegerField()
class Meta:
managed = False
db_table = 'vicidial_list'
class VicidialCallbacks(models.Model):
_DATABASE = "dialer"
callback_id = models.AutoField(primary_key=True)
lead_id = models.ForeignKey(VicidialList, related_name='lead',to_field='lead_id')
list_id = models.BigIntegerField(blank=True, null=True)
campaign_id = models.CharField(max_length=8, blank=True, null=True)
status = models.CharField(max_length=10, blank=True, null=True)
class Meta:
managed = False
db_table = 'vicidial_callbacks'
那么为什么Django正在寻找id列?文档说Django想要添加自己的id字段,直到我们定义了primary_key ...