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')