久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Django生成數(shù)據(jù)庫及添加用戶報錯解決方案

瀏覽:196日期:2024-09-21 14:21:50

Django生成數(shù)據(jù)庫表時報錯 __init__() missing 1 required positional argument: ’on_delete’

原因:

在django2.0后,定義外鍵和一對一關系的時候需要加上on_delete選項,此參數(shù)為了避免兩個表里的數(shù)據(jù)不一致問題,不然會報錯

例如:

owner=models.ForeignKey(UserProfile)--->報錯

owner=models.ForeignKey(UserProfile,on_delete=models.CASCADE) --在老版本這個參數(shù)(models.CASCADE)是默認值

參數(shù)說明:

on_delete有CASCADE、PROTECT、SET_NULL、SET_DEFAULT、SET()五個可選的值

CASCADE:級聯(lián)刪除。

PROTECT:報完整性錯誤。

SET_NULL:將外鍵設置為null,前提是允許為null。

SET_DEFAULT:將外鍵設置為一個默認值

SET():調用外面的值,可以是一個函數(shù)

注:一般使用CASCADE就可以了。

在使用Django添加用戶時出現(xiàn)報錯:

django.db.utils.IntegrityError: (1452, ’Cannot add or update a child row: a foreign key constraint fai ls (`cms`.`app01_book_author`, CONSTRAINT `app01_book_author_book_id_df0ca405_fk_app01_book_id` FOREIG N KEY (`book_id`) REFERENCES `app01_book` (`id`))’) [31/Mar/2019 21:20:45] 'GET /addbook/ HTTP/1.1' 500 216210

解決辦法,需要在setting.py文件的databases中取消外鍵檢查:

1 DATABASES = {

DATABASES = { ’default’: { ’ENGINE’: ’django.db.backends.mysql’, ’NAME’: ’cms’, # 你的數(shù)據(jù)庫名稱 ’USER’: ’root’, # 你的數(shù)據(jù)庫用戶名 ’PASSWORD’: ’123456’, # 你的數(shù)據(jù)庫密碼 ’HOST’: ’’, # 你的數(shù)據(jù)庫主機,留空默認為localhost ’PORT’: ’3306’, # 你的數(shù)據(jù)庫端口 ’OPTIONS’: { 'init_command': 'SET foreign_key_checks = 0;', # 取消外鍵檢查 } } }

問題解決!!!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標簽: Django
相關文章:
主站蜘蛛池模板: 哈尔滨市| 灌阳县| 托克托县| 文化| 长寿区| 延长县| 广元市| 临海市| 柳河县| 海门市| 武威市| 龙川县| 怀柔区| 揭阳市| 长治县| 益阳市| 土默特左旗| 清镇市| 九台市| 宁乡县| 拜城县| 南阳市| 竹山县| 施甸县| 革吉县| 永年县| 东阳市| 阳朔县| 湘潭市| 高要市| 莒南县| 井冈山市| 天全县| 定陶县| 虹口区| 昂仁县| 句容市| 柯坪县| 无锡市| 航空| 怀化市|