1、在classX中引入外键(models.py)
def classX (models.Model):
name = models.ForeignKey('classY',on_delete=models.DO_NOTHING)
运行对classX的查询时
q = classX.objects.all()
q
报错
Exception Type: InternalError at /app/classX/
Exception Value: (1054, "Unknown column 'app_classX.name_id' in 'field list'")
原因是python中会对外键的名字自动添加后缀_id,但是在数据库中依旧为原名称,因此在数据库中找不到name_id
可以在定义的时候加上db_column='name_id',修改数据库中的名字,从而完成正确匹配,即
def classX (models.Model):
name = models.ForeignKey('classY',on_delete=models.DO_NOTHING, db_column='name_id')