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

django 解決model中類寫不到數據庫中,數據庫無此字段的問題

瀏覽:9日期:2024-10-03 15:01:43

如果你遇到了這個錯誤?MySQL Strict Mode is not set for database connection ‘default’

還有這種錯誤,models中的代碼

django 解決model中類寫不到數據庫中,數據庫無此字段的問題

django 解決model中類寫不到數據庫中,數據庫無此字段的問題

為什么會出現這種錯誤呢?有兩種可能,一種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文件中多加了逗號

django 解決model中類寫不到數據庫中,數據庫無此字段的問題

所以說一定要細心,不要粗心,遇到錯誤一定要細心,哎,我就…

解決方法,添上option和去掉逗號就ok了唄

去掉逗號之后刪庫創庫,重新輸入

python manage.py makemigrationspython manage.py migrate

兩條命令,即可

django 解決model中類寫不到數據庫中,數據庫無此字段的問題

把它也記得刪了

django 解決model中類寫不到數據庫中,數據庫無此字段的問題

這樣就ok了

補充知識:django框架model中外鍵不落實到數據庫

在外鍵字段的參數中添加db_constraint=False即可,數據庫中沒有外鍵關系,代碼中依然可以按照正常外鍵方式使用。

例如:

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中類寫不到數據庫中,數據庫無此字段的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
国产综合久久一区二区三区