django 解決model中類寫不到數(shù)據(jù)庫中,數(shù)據(jù)庫無此字段的問題
如果你遇到了這個錯誤–MySQL Strict Mode is not set for database connection ‘default'
還有這種錯誤,models中的代碼


為什么會出現(xiàn)這種錯誤呢?有兩種可能,一種settings少了options,一中是你的models文件中加了逗號
第一種可能
settings中需要添加以下字段
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mxshop',
'HOST': '127.0.0.1',
'PORT': '3306',
'USER': 'mxshop',
'PASSWORD': 'BSfdsfdsmxF',
'OPTIONS': {
"init_command": "SET default_storage_engine='INNODB'"
}
}
}
DATABASES['default']['OPTIONS']['init_command'] = "SET sql_mode='STRICT_TRANS_TABLES'"#排除錯誤
第二種可能
models.py文件中多加了逗號

所以說一定要細心,不要粗心,遇到錯誤一定要細心,哎,我就…
解決方法,添上option和去掉逗號就ok了唄
去掉逗號之后刪庫創(chuàng)庫,重新輸入
python manage.py makemigrations
python manage.py migrate
兩條命令,即可

把它也記得刪了

這樣就ok了
補充知識:django框架model中外鍵不落實到數(shù)據(jù)庫
在外鍵字段的參數(shù)中添加db_constraint=False即可,數(shù)據(jù)庫中沒有外鍵關系,代碼中依然可以按照正常外鍵方式使用。
例如:
class User(models.Model): name = models.CharField(max_length=255) room = models.ForeignKey(Room, db_constraint=False) class Room(models.Model): status = models.IntegerField(default=1)
以上這篇django 解決model中類寫不到數(shù)據(jù)庫中,數(shù)據(jù)庫無此字段的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- Django ForeignKey與數(shù)據(jù)庫的FOREIGN KEY約束詳解
- pycharm中django框架連接mysql數(shù)據(jù)庫的方法
- django使用多個數(shù)據(jù)庫的方法實例
- django inspectdb 操作已有數(shù)據(jù)庫數(shù)據(jù)的使用步驟
- Python web框架(django,flask)實現(xiàn)mysql數(shù)據(jù)庫讀寫分離的示例
- Django連接本地mysql數(shù)據(jù)庫(pycharm)的步驟
- Python的Django框架實現(xiàn)數(shù)據(jù)庫查詢(不返回QuerySet的方法)
- django 數(shù)據(jù)庫返回queryset實現(xiàn)封裝為字典
- Django項目如何給數(shù)據(jù)庫添加約束
相關文章
python可迭代類型遍歷過程中數(shù)據(jù)改變會不會報錯
這篇文章主要介紹了python可迭代類型遍歷過程中數(shù)據(jù)改變會不會報錯問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12
Python中enumerate()函數(shù)詳細分析(附多個Demo)
Python的enumerate()函數(shù)是一個內置函數(shù),主要用于在遍歷循環(huán)中獲取每個元素的索引以及對應的值,這篇文章主要介紹了Python中enumerate()函數(shù)的相關資料,需要的朋友可以參考下2024-10-10
比較兩個numpy數(shù)組并實現(xiàn)刪除共有的元素
這篇文章主要介紹了比較兩個numpy數(shù)組并實現(xiàn)刪除共有的元素,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02

