用Django裡面的models操作資料庫
1.首先進入settings裡面
2.在models裡面宣告資料型別
2.1 首先引入需要的工具包
import MySQLdb
2.2 建立table表各個欄位的型別
models.AutoField 自增列= int(11)
如果沒有的話,預設會生成一個名稱為 id 的列,如果要顯示的自定義一個自增列,必須將給列設定為主鍵 primary_key=True
2.3 自定義表的名稱
2.4 執行完上述接下來就是執行命令對錶進行建立了
開啟run manage.py task ,執行makemigrations 生成資料庫變更檔案
執行migrate命令,執行資料庫變更檔案
如果需要對資料模型類做修改,要先執行makemigrations生成資料模型變更檔案,在執行migrate 執行變更檔案
執行完已經完成了對資料庫表格的建立
下面就是對資料庫進行增刪改查了
首先要引入在models中建立的類
from .models import MesModel
1、查
查詢資料庫中的所有資料,得到的是一個列表,列表中存放資料物件,最後需要用一個變數接收
rs=MesModel.objects.all()
get()得到一個指定條件的物件,左右也需要用一個變數接收,value指的是欄位名,是一行
rs=MesModel.objects.get(value=)
例如MesModel.objects.get(id=1)就是取出id=1的這一行資料
rs=MesModel.objects.all().values('') 只取出表中的某一列
rs=MesModel.objects.all().values_list('','') 取出表中的某兩列,得到的是一個列表
根據條件篩選多條資料
大於 id__gt 小於 id__lt 大於等於 id__gte 小於等於 id__lte
查詢的id大於1的資料
msgs = MesModel.objects.filter(id__gt = 1)
msgs=MesModel.objects.filter(id__lt=10, id__gt=1) # 獲取id大於1 且 小於10的值
msgs=MesModel.objects.filter(id__in=[11, 22, 33]) # 獲取id等於11、22、33的資料
msgs=MesModel.objects.exclude(id__in=[11, 22, 33]) # not in
msgs=MesModel.objects.filter(id__range=[1, 2]) # 範圍bettwen and
msgs=MesModel.objects.filter(name__contains="ven")
msgs=MesModel.objects.filter(name__icontains="ven") # icontains大小寫不敏感
msgs=MesModel.objects.exclude(name__icontains="ven")
2.增加
2.1.建立物件之後,會將物件的資訊直接儲存到資料庫
MesModel.objects.create(name=name,email=email,address=address,suggest=message)
2.2建立物件 再給物件屬性賦值,如需儲存需要呼叫save()函式
msg = MesModel(name=name,email=email,address=address,suggest=message)
執行save函式相當於執行了 insert into message (name,email,address,suggest) values('小明','[email protected]','鄭州','沒有建議') 這個sql語句
msg.save()
2.3.get_or_create 先獲取是否有該資料,如果沒有在進行新增
返回結果是一個元組,元組中存放建立的物件,建立結果True/False
try:
res = MesModel.objects.get_or_create(name=name,email=email,address=address,suggest=message)
except Exception as e:
return HttpResponse('該id已存在,請檢查後重新輸入')
3.修改我們已經通過上面的查詢獲得了某一條資料 返回的是物件,直接通過物件.屬性就可以實現資料庫的修改
最後物件.save()儲存就可以了
4.刪除
通過查詢到某一條資料後直接.delete()就可以
例如:
MesModel.objects.get(id=1).delete()
相關推薦
用Django裡面的models操作資料庫
1.首先進入settings裡面2.在models裡面宣告資料型別 2.1 首先引入需要的工具包import MySQLdb 2.2 建立table表各個欄位的型別models.AutoField 自增列= int(11) 如果沒有的話,預設會生成一個名稱為
如何使用Django模型Models對資料庫進行增刪改查
Django的抽象模型Models可以直接對資料庫進行增刪改查,不需要你自己寫SQL語言來進行相關資料庫操作。今天我們就以部落格blog為例,看下Django是如何對資料庫進行增刪改查的。我們將會用到如
Django之ORM操作資料庫
1、配置資料庫vim settings #HelloWorld/HelloWorld目錄下DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', #mysql資料庫中第一個庫tes
HelloDjango 系列教程:第 04 篇:Django 遷移、操作資料庫
文中涉及的示例程式碼,已同步更新到 HelloGitHub-Team 倉庫 我們已經編寫了部落格資料庫模型的程式碼,但那還只是 Python 程式碼而已,django 還沒有把它翻譯成資料庫語言,因此實際上這些資料庫表還沒有真正的在資料庫中建立。 遷移資料庫 為了讓 django 完成翻譯,建立好這
【Mac系統 + Python + Django】之開發一個釋出會系統【Django模型(二)】 【Mac系統 + Mysql】之安裝Mysql資料庫 【Python + Mysql】之用pymysql庫連線Mysql資料庫並進行增刪改查操作
上一部分給大家介紹Django的檢視。 接下來繼續來了解Django框架,來看第二部分,此部分是對資料庫的操作。 目錄: 一、設計系統表 二、admin後臺管理 三、基本資料訪問(SQLite資料庫) 四、Django配置MySQL &
django下models.py數據庫同步操作技巧
app 技巧 修改 wmi 終極 del 名稱 .py 認識 一、認識一個目錄:目錄名:migrations作用:用來存放通過makemigrations命令生成的數據庫腳本,不熟悉的情況下,裏面生成的腳本不要輕易修改。app目錄下必要有migrations的目錄且該目錄下
自己寫的py文件中調用django models
文件 color from col settings try div name bject import os os.environ[‘DJANGO_SETTINGS_MODULE‘] = ‘項目名.settings‘import djangodjango.setup()
Django中使用mysql資料庫並使用原生sql語句操作
Django自身預設使用sqlite3這個輕量級的資料庫,但是當我們開發網站時,sqlite3就沒有mysql好,sqlite3適合一些手機上開發使用的資料庫。 準備的軟體 mysql資料庫,版本5.7及以上。 navicat,(可選的)。使用navicat主要是簡化我
西遊之路——python全棧——django中models配置 python---django使用資料庫(orm)
目錄 Django支援多種資料庫,sqlite,mysql,oracle等,其預設資料庫是sqlite 在settings檔案中可以發現: DATABASES = { 'default': { 'ENGINE': '
php用pdo操作資料庫,進行分頁時,$pageSize出現錯誤,怎麼回事
在用pdo操作資料庫的時候,一定要注意傳參得順序, 比我我這裡傳參順序錯了,弄了一個半小時才解決: // 分頁的演算法 public function pages($page, $pageSize = 2) { $count = $this->c
重新命名資料報錯:無法用排他鎖鎖定該資料庫,以執行該操作。 (Microsoft SQL Server,錯誤: 5030)
一般來說,在確保沒有客戶端連線的情況下,重新命名資料庫不會報這個錯 解決方法: Use master EXEC sp_dboption 'OldDbName', 'Single User', 'TRUE' EXEC sp_renamedb 'OldDbName',
Django學習筆記009-django models進行資料庫增刪查改
引入models的定義 from app.models import myclass class myclass(): aa = models. CharField (max_len
######業務儘可能用sql實現(縮短後臺響應時間):最近都在優化之前的程式碼:發現每個模組的index頁都需要優化(很多都在迴圈裡操作資料庫:菜!初級!)
###最近都在優化之前的程式碼: 發現每個模組的index頁都需要優化(很多都再迴圈裡操作資料庫:菜!初級!或者說趕專案沒想優化這回事吧) ===》解耦合前提下,能用一條SQL解決的,多測試寫SQL。可以減少很多程式碼。 希望我在疲憊,腦子不好使時候也能堅持吧。(注意休
Django在根據models生成資料庫表時報 __init__() missing 1 required positional argument: 'on_delete'
在runserver時報錯如題資訊 TypeError: __init__() missing 1 required positional argument: 'on_delete' 在models中沒有對外來鍵進行關聯, 原因: 在django2.0後,
Django入門二之models操作試驗
第一部分: 1.使用 manage.py 工具載入我們的專案來啟動 Python shell : (env) D:\Development\myproject\myproject>python manage.py shell Python 3.6.4 (v3.6.4
不使用spring的情況下用java原生程式碼操作mongodb資料庫的兩種方式
由於更改了mongodb3.0資料庫的密碼,導致這幾天storm組對資料進行處理的時候,一直在報mongodb資料庫連線不上的異常。 主要原因實際上是和mongodb本身無關的,因為他們改的是配
(5) ebj學習:ejb用jpa操作資料庫1
一 JPA開發持久化Bean 二 配置資料來源 三 新建Ejb專案 四 指定JNDI資料來源 五 編寫entity bean 六 程式碼 1 目錄結構 2 Person.java im
.NET MVC 操作資料庫要用到的一些方法
1. LINQ 1.select * from [table] 用 LINQ 寫 var linq = (from t in db.table select t ).ToList() 2. select 欄位 from [table]
django用戶權限操作
ces 新增 超級 比較 請求方法 get else model har 第一步:創建數據庫和超級管理員,為了比較方便使用(裏面有些的是沒用的),額外新增 chioces , per_method , argument_list # 用戶權限# 建立一個權限表,將映射關系
043:Django使用原生SQL語句操作資料庫
Django使用原生SQL語句操作資料庫 Django配置連線資料庫: 在操作資料庫之前,首先先要連線資料庫。這裡我們以配置 MySQL 為例來講解。 Django 連線資料庫,不需要單獨的建立一個連線物件。只需要在 settings.py 檔案中做好資料庫相關的配置就可以了。示例程式碼如下: