Django 在建立ForeignKey中出現錯誤

2021-09-16 19:28:28 字數 815 閱讀 4492

hbook = models.foreignkey('bookinfo')  #關係屬性,建立一類和多類之間的關係

typeerror: __init__() missing 1 required positional argument: 'on_delete'

在django2.0後,定義外來鍵和一對一關係的時候需要加on_delete選項,此引數為了避免兩個表裡的資料不一致問題,不然會報錯:

typeerror: __init__() missing 1 required positional argument: 'on_delete'
hbook=models.foreignkey('bookinfo',on_delete=models.cascade,)

即在外鍵值的後面加上 on_delete=models.cascade

you are trying to add a non-nullable field 'hbook' to heroinfo without a default; we can't do that (the database needs something to populate existing rows).
提示我foreignkey必須有乙個default值。但是django裡面沒有要求foreignkey必須有乙個預設值。

原來舊的資料庫檔案和現在執行的操作有衝突。

把migrations資料夾內除了__init__.py以外的檔案刪除,重新執行makemigrations就可以了。

完成!

在Eclipse中建立Django專案

在以前的分享中,我們是在命令列模式下建立django專案的,那麼,如何在ide中使用django呢?本文將介紹如何在eclipse中建立django專案。首先,新建django專案mysite,如下圖 注意上圖中的劃紅線部分,應該選擇 add project directory to the pyt...

在Eclipse中建立Django專案

在以前的分享中,我們是在命令列模式下建立django專案的,那麼,如何在ide中使用django呢?本文將介紹如何在eclipse中建立django專案。首先,新建django專案mysite,如下圖 注意上圖中的劃紅線部分,應該選擇 add project directory to the pyt...

在openshift上建立django應用

python 3.3 django 1.7 一 建立新應用 二 在新建的目錄裡新增git庫 三 設定金鑰 rhc set env django settings secret key 2c4 vbrws1lqrssc xpr1z kgfk6dv uyqxr 2k8 3r 4 hbqkpx1 x 四 ...