django 數據庫的相關操作

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME':'webdb',
        'USER':'root',
        'PASSWORD':'',
        'HOST':'localhost',
        'PORT':3306,

    }
}

還需要在__init__.py 裏

import pymysql
pymysql.install_as_MySQLdb()

 

 

數據庫的同步操作

1      ./manage.py makemigrations

作用:將每個應用下的models.py 文件生成一個數據庫的中間文件,並將中間文件保存到 migrations 的目錄中

2    ./manage.py migrate

作用:將每個應用下的migrations 目錄的中間文件同步到數據庫中

 

模型相關指令

1 版本切換指令 

python3 manage.py migrate 應用名稱 版本號

2 通過數據庫自動導出models類 (這個指令毛病太多,不建議使用)

python3 manage.py inspectdb > 文件名.py    但是經測試在mac 上執行報錯  -bash: db.py: Permission denied ,不知道怎麼解決

 

模型中的增刪改查

1  增(方案一) 

Entry.objects.create(屬性=值,屬性=值)

返回值:創建好的實體對象

例如  

def add_views(request):
    # Entry.objects.create()
    obj = Author.objects.create(name='王老師',age=32,email='wang.qq.com')
    print(obj.id,obj.name,obj.age,obj.email)
    return HttpResponse("add ok")

方案二

創建一個Entry 對象,並通過save() 進行保存

obj = Author(name='各款健康',age=55,
             email='[email protected]')
obj.save()

方案三

  使用字典構建對象,並通過save() 進行保存

dic = {
    'name':'狗狗',
    'age':32,
    'email':'333.qq.com',
    'isActive':False
}

obj = Author(**dic)
obj.save()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章