Django提示mysql版本過低:django.db.utils.NotSupportedError: MySQL 8 or later is required (found 5.7.26).的解決方法
Django提示mysql版本過低:django.db.utils.NotSupportedError: MySQL 8 or later is required (found 5.7.26).
因?yàn)閙ysql5.7及以下是免費(fèi)的數(shù)據(jù)庫(kù),8.0之后是收費(fèi)的。使用免費(fèi)的數(shù)據(jù)庫(kù)更放心,使用上沒有什么區(qū)別。這個(gè)提示只是Django的版本檢測(cè)提示,把它注釋掉就好了。
全局搜索函數(shù):
check_database_version_supported()
文件路徑是:
D:\Python\web_project\dj01\venv\Lib\site-packages\django\db\backends\base\base.py
找到第二個(gè),就是就是使用的那個(gè),把它注釋了:
def init_connection_state(self): """Initialize the database connection settings.""" global RAN_DB_VERSION_CHECK if self.alias not in RAN_DB_VERSION_CHECK: # self.check_database_version_supported() RAN_DB_VERSION_CHECK.add(self.alias)
先執(zhí)行生成數(shù)據(jù)庫(kù)遷移文件命令:
python .\manage.py makemigrations
然后寫好數(shù)據(jù)實(shí)體類:
from django.db import models # Create your models here. """輪播圖模型""" class Banner(models.Model): # 模型字段 image_url = models.CharField(max_length=255, verbose_name="廣告圖片") link = models.CharField(max_length=500, verbose_name="廣告鏈接") remark = models.TextField(verbose_name="備注") is_show = models.BooleanField(verbose_name="是否顯示", default=False) orders = models.IntegerField(default=1, verbose_name="排序") title = models.CharField(max_length=500, verbose_name="廣告標(biāo)題") image = models.ImageField(upload_to="banner", verbose_name="輪播圖", null=True, blank=True) is_delete = models.BooleanField(verbose_name="邏輯刪除", default=False) # 表信息 class Meta: db_table = "dj_banner" verbose_name = "輪播廣告" verbose_name_plural = verbose_name # 自定義顯示字段 def __str__(self): return self.title
設(shè)置好數(shù)據(jù)庫(kù)連接配置:
settings/dev.py
DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': BASE_DIR / 'db.sqlite3', # }, 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'dj01', 'HOST': '127.0.0.1', 'PORT': 3306, 'USER': 'root', 'PASSWORD': 'root', }, }
最后就是遷移到數(shù)據(jù)庫(kù)中,執(zhí)行命令:
python .\manage.py migrate
數(shù)據(jù)庫(kù)中就有了Django自帶的表和創(chuàng)建了實(shí)體類的表了:
以上就是Django提示mysql版本過低:django.db.utils.NotSupportedError: MySQL 8 or later is required (found 5.7.26).的解決方法的詳細(xì)內(nèi)容,更多關(guān)于Django提示mysql版本過低的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python連接Postgres/Mysql/Mongo數(shù)據(jù)庫(kù)基本操作大全
在后端應(yīng)用開發(fā)中,經(jīng)常會(huì)用到Postgres/Mysql/Mongo這三種數(shù)據(jù)庫(kù)的基本操作,今天小編就給大家詳細(xì)介紹Python連接Postgres/Mysql/Mongo數(shù)據(jù)庫(kù)基本操作,感興趣的朋友一起看看吧2021-06-06使用python提取PowerPoint幻燈片中表格并保存到文本及Excel文件
owerPoint作為廣泛使用的演示工具,常被用于展示各類數(shù)據(jù)報(bào)告和分析結(jié)果,其中,表格以其直觀性和結(jié)構(gòu)性成為闡述數(shù)據(jù)關(guān)系的不二之選,本文將介紹如何使用Python來提取PowerPoint幻燈片中的表格,并將表格數(shù)據(jù)寫入文本文件以及Excel文件,需要的朋友可以參考下2024-06-06django數(shù)據(jù)關(guān)系一對(duì)多、多對(duì)多模型、自關(guān)聯(lián)的建立
這篇文章主要介紹了django數(shù)據(jù)關(guān)系一對(duì)多、多對(duì)多模型、自關(guān)聯(lián)的建立2019-07-07