Django數(shù)據(jù)庫ORM操作-單表的創(chuàng)建,增加,刪除,更改和查詢

Django里面,管理數(shù)據(jù)庫和sqlarchemy類似,也是通過orm框架來實(shí)現(xiàn)的。所有的數(shù)據(jù)庫的建立,都是在model.py里面通過類來實(shí)現(xiàn)的。

澗西ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

首先看看如何創(chuàng)建一個單表:

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

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.執(zhí)行命令。 第一條命令會生成一個初始化文件,第二個命令會生成對應(yīng)的表

python manage.py  makemigrations
python manage.py  migrate

Django 數(shù)據(jù)庫ORM操作 - 單表的創(chuàng)建,增加,刪除,更改和查詢

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

d. 如果希望使用MySQL,因?yàn)镈jango默認(rèn)使用了MySqldb模塊,這個在3.0版本里面不存在,會直接報錯。我們需要改為pymysql的模塊,方法如下:

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

import pymysql

pymysql.install_as_MySQLdb()

Django 數(shù)據(jù)庫ORM操作 - 單表的創(chuàng)建,增加,刪除,更改和查詢

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

查詢

獲取所有結(jié)果,獲取到的結(jié)果是一個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進(jìn)行過濾,相當(dāng)于sql的where語句,因?yàn)榻Y(jié)果也是QuerySet,因此需要再使用first()獲取第一個值

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

增加

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

刪除,可以在filter的基礎(chǔ)上進(jìn)行刪除

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()

新聞名稱:Django數(shù)據(jù)庫ORM操作-單表的創(chuàng)建,增加,刪除,更改和查詢
分享URL:http://bm7419.com/article2/gijhoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航網(wǎng)站設(shè)計(jì)、電子商務(wù)、品牌網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)公司、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)