Django+Rest Framework後臺開發BUG記錄

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章