django--mysql數據庫配置

python==3.7.0python

django==2.0mysql

pymysql==0.9.3sql

 

1、配置數據庫
Django默認數據庫爲sqlite
若該項目要使用mysql數據庫,須要更改配置數據庫

一、項目下setting.py中添加以下代碼django

import pymysql

pymysql.install_as_MySQLdb()

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'xxx',           # 數據庫庫名(需提早建立好數據庫)
        'USER': 'xxx',            # 用戶名
        'PASSWORD':'***',     # 鏈接密碼
        'HOST':'xx.xx.xx.xx',   # 主機
        'PORT':'3306',             # mysql端口
    }
}

# 將初始DATABASES註釋或刪除

二、進行數據遷移app

進入項目地址(與manage.py同級),執行以下命令spa

python manage.py makemigrations # 建立 遷移
python manage.py migrate  # 執行 遷移

三、執行完畢後,可在mysql指定的數據庫中看到已經完成遷移的數據表,至此,mysql數據庫配置完成3d

 

2、數據表的建立、刪除、修改(業務層面)code

一、數據表的建立sqlite

# 在應用下建立數據表首先須要建立應用,而且註冊應用,才能夠創表
# 在目標應用下的model.py中寫入所需建立的類,如在Usermanagement應用下編寫以下代碼

from django.db import models

# Create your models here.

class User(models.Model):
    id=models.CharField(max_length=50,primary_key=True)
    user_id=models.CharField(max_length=50)
    user_name=models.CharField(max_length=50)
    password=models.CharField(max_length=255)
    user_mail=models.CharField(max_length=50)
    user_status=models.IntegerField()

進入項目地址(與manage.py同級),執行以下命令

python manage.py makemigrations # 建立 遷移
# 此時會在應用下的migrations文件夾中生成
0001_initial.py文件

python manage.py migrate # 執行 遷移
# 此時會在數據庫中建立名爲
Usermanagement_User的數據表

 

 
 
 

至此,數據表的建立結束

 

二、數據表的刪除

分兩步:①手動進入數據庫,刪除目標數據表;②在django_migrations表中刪除該表的註冊信息

至此,該數據表刪除成功

 

三、數據表的修改

 

# 仍是在model.py中修改已經建立好的類
# 添加或者刪除或者修改字段
# 完成後執行以下命令

python manage.py makemigrations
# 刪除、修改字段會直接提示結果



# 添加字段會提示是否加入默認值

此時能夠選擇1,而且鍵入默認值''便可

或者在model.py中新增的字段代碼中加入默認值,再執行python manage.py makemigrations,代碼以下

from django.db import models

# Create your models here.

class User(models.Model):
id=models.CharField(max_length=50,primary_key=True)
user_id=models.CharField(max_length=50)
user_name=models.CharField(max_length=50)
password=models.CharField(max_length=50)
user_status=models.IntegerField()
xx=models.CharField(max_length=255,default='') # 加入default=''

python manage.py migrate  # 執行 遷移
# 此時會更新數據庫中的表

 至此,數據表中字段修改爲功

 

數據表的每次修改都會記錄在migrations文件夾下,同時也會存儲在django_migrations表裏

 

注:

python manage.py makemigrations
python manage.py migrate

# 以上代碼會執行全局model.py
# 若想精確到執行某個app,可修改命令,以下

python manage.py makemigrations app_name
python manage.py migrate app_name
相關文章
相關標籤/搜索