91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 數據庫 > 
  • Django 數據庫ORM操作 - 單表的創建,增加,刪除,更改和查詢

Django 數據庫ORM操作 - 單表的創建,增加,刪除,更改和查詢

發布時間:2020-04-01 18:23:54 來源:網絡 閱讀:4346 作者:beanxyz 欄目:數據庫

Django里面,管理數據庫和sqlarchemy類似,也是通過orm框架來實現的。所有的數據庫的建立,都是在model.py里面通過類來實現的。


首先看看如何創建一個單表:

a. 先定義一個類,繼承models.Model, 然后根據需求定義參數,這些參數的類型和變量后面會進一步闡述

models.py

from django.db import models

class UserInfo(models.Model):
    username = models.CharField(max_length=32)
    password = models.CharField(max_length=64)


b. 注冊app

settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01',
]


c.執行命令。 第一條命令會生成一個初始化文件,第二個命令會生成對應的表

python manage.py  makemigrations
python manage.py  migrate

Django 數據庫ORM操作 - 單表的創建,增加,刪除,更改和查詢


這樣,就在PyCharm自帶的sqlite數據庫里面成功的生成了一個app01_UserInfo的表。這個表默認會有一個自增的id作為主鍵,另外兩個字段是我們通過類創建的。


d. 如果希望使用mysql,因為Django默認使用了MySqldb模塊,這個在3.0版本里面不存在,會直接報錯。我們需要改為pymysql的模塊,方法如下:

在project同名文件夾下的__init__文件中添加如下代碼即可:

import pymysql

pymysql.install_as_MySQLdb()

Django 數據庫ORM操作 - 單表的創建,增加,刪除,更改和查詢


2. 對于單表的增刪改查詢


查詢

獲取所有結果,獲取到的結果是一個QuerySet的類似列表的對象,每一個元素本身又是一個對象,包括了id,name,password等屬性。


obj = models.UserInfo.objects.all()

<QuerySet [<UserInfo: UserInfo object>, <UserInfo: UserInfo object>, <UserInfo: UserInfo object>, <UserInfo: UserInfo object>, <UserInfo: UserInfo object>]>


可以通過filter進行過濾,相當于sql的where語句,因為結果也是QuerySet,因此需要再使用first()獲取第一個值

 obj = models.UserInfo.objects.filter(id=nid).first()


增加

models.UserInfo.objects.create(username=u,password=p,user_group_id=3)


刪除,可以在filter的基礎上進行刪除

models.UserInfo.objects.filter(id=nid).delete()


修改,有兩種常見方式

第一個方式

models.UserInfo.objects.filter(id=nid).update(username=u,password=p)


第二個方式

obj=models.UserInfo.objects.filter(id=nid)
obj.username=u
obj.save()


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大新县| 梅河口市| 澎湖县| 庆云县| 海口市| 通许县| 商水县| 郁南县| 鹰潭市| 呼伦贝尔市| 馆陶县| 江北区| 嵊泗县| 碌曲县| 阜南县| 德令哈市| 顺昌县| 都匀市| 二连浩特市| 阿克陶县| 阿城市| 遂昌县| 长沙市| 绥江县| 霍州市| 上饶市| 沾化县| 平顶山市| 巩义市| 政和县| 林甸县| 河北区| 博湖县| 五指山市| 烟台市| 长春市| 北辰区| 达州市| 牡丹江市| 台中市| 安阳县|