1. 程式人生 > >django 筆記4 數據庫操作

django 筆記4 數據庫操作

esp 數據庫表 root ML turn 字符 pro TP 方法

django操作數據庫
orm操作
select * from tb where id > 1
對應關系
models.tb.objects.filter(id__gt=1)
models.tb.objects.filter(id=1)
models.tb.objects.filter(id__lt=1)

創建類
        1  -根據類自動創建數據庫表
        #models.py操作
        #######################################
        from django.db import models
        # Create your models here.

        #表名會默認為app01_userinfo
        
class UserInfo(models.Model): #創建用戶名列 字符串類型 指定長度 #默認會創建個id列 且自增 為主鍵 username = models.CharField(max_length=32) password = models.CharField(max_length=64) ####################################### python manage.py makemigrations No changes detected 表示要去找models 所以在settings中的 INSTALLED_APPS
=[添加個app名稱] migrations記錄了生成數據庫表結構的一些數據0001_initial.py python manage.py migrate 生成數據庫且會生成表 2 -根據類對數據庫表中的數據進行各種操作 若要改為MySQL連接 需要改settings 數據庫配置文檔 www.cnblogs.com/wupeiqi/articles/5237704.html DATABASES = { default:{ ENGINE:django.db.backends.mysql, NAME
:dbname, USER: root, PASSWORD: xx, HOST:‘‘, PORT:‘‘ } } 註意: MySQLdb模塊在Python3是沒有的 在project中的__init__.py 即settings同級的__init__.py文件添加 import pymysql pymysql.install_as_MySQLdb() 增刪改查 ################################################################# from app01 import models def orm(request): #創建數據的方法1 一行插入數據 models.UserInfo.objects.create( username=root, password=123 ) #創建數據的方法2 obj = models.UserInfo(username=ljc,password=123) obj.save() #創建數據方法3 dic = {username:eric, password:123} models.UserInfo.objects.create(**dic) return HttpResponse(orm) def select(request): #查找數據 result = models.UserInfo.objects.all() #表示所有數據都拿到 #result QuerySet 是Django提供的 可以理解為列表[] #[obj1(id, username, password), obj2, obj3] 是UserInfo的對象 for row in result: print(row.id,row.username, row.password) result = models.UserInfo.objects.filter(username="root") #查找條件 username=root的 如果username,password 是and共同擁有 for i in result: print(i.username) return HttpResponse(result[1]) def delete(request): #刪除數據 models.UserInfo.objects.filter(id=4).delete() #filter類似where條件 return HttpResponse(123) def update(request):  #修改數據 models.UserInfo.objects.all().update(password=666) #將密碼全部改為666 return HttpResponse(123) #################################################################

django 筆記4 數據庫操作