django如何通過模型生成數據庫表


搭建Django2.0+Python3+MySQL5時同步數據庫時報錯:

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required; you have 0.7.11.None

解決辦法:

找到Python安裝路勁下的Python36-32\Lib\site-packages\django\db\backends\mysql\base.py文件

將文件中的如下代碼注釋

if version < (1, 3, 3):
raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)
重新在項目manage.py路勁下執行如下命令即可

python manage.py makemigrations
python manage.py migrate

附:Django配置MySQL數據庫方法

一、settings.py文件中修改數據庫配置為下面的內容:

# Database
# https://docs.djangoproject.com/en/2.0/ref/settings/#databases

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': '127.0.0.1',
'PORT': '3306',
'NAME': 'mysql',
'USER': 'root',
'PASSWORD': 'zwg123456',
'OPTIONS': {
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
},
}
}
驅動(ENGINE)、主機地址(HOST)、端口號(PORT)、數據庫(NAME)、用戶名(NAME)以及登錄密碼(PASSWORD);

二、在__init_.py文件添加如下配置:


# coding=utf-8

import pymysql
pymysql.install_as_MySQLdb()
因為Django連接MySQL時默認使用MySQLdb驅動,但MySQLdb不支持Python3,因此這里將MySQL驅動設置為pymysql。

三、執行數據遷移

在項目manage.py路勁下執行如下命令即可

python manage.py makemigrations
python manage.py migrate

————————————————
版權聲明:本文為CSDN博主「潛行100」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_35304570/article/details/79674449

上面執行完后又有報錯

File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\django\db\backends\mysql\operations.py", line 146, in last_executed_query
query = query.decode(errors='replace')
AttributeError: 'str' object has no attribute 'decode'

解決方法:

1.用終端找到上面路徑的文件

2.在文件中找到 query = query.decode(error = ‘replace’) 這句代碼,然后將decode修改成encode就好了

3.在項目manage.py路勁下重新執行如下命令

python manage.py makemigrations
python manage.py migrate

如何通過python shell 執行python一行一行代碼 進行數據表的數據添加

進入到python shell
執行命令 python manage.py shell
引入包
from app1.models import Grades,Students
from django.utils import timezone
from datetime import *

查看Grades下的所有數據
Grades.objects.all()

查看第二個
Grades.objects.get(pk=2)

修改數據

grade1.屬性=值

grade1.save()

刪除

grade1.delete()

添加數據
創建一個模型類的實例對象
grade1=Grades()
grade1.gname="python04"
grade1.gdata=datetime(year=2019,month=11,day=27)
grade1.ggirlnum=3
grade1.gboynum=50
grade1.save()

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM