亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 數據庫 > 
  • 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

兴化市| 兴隆县| 搜索| 永顺县| 义马市| 黑河市| 丰镇市| 社会| 普格县| 平潭县| 元朗区| 古丈县| 金山区| 丰顺县| 长宁县| 平顺县| 政和县| 玉林市| 汶川县| 霍林郭勒市| 资兴市| 白朗县| 工布江达县| 昌江| 阿拉尔市| 左云县| 河西区| 涞源县| 太谷县| 深水埗区| 广河县| 河池市| 樟树市| 旌德县| 凌源市| 新干县| 宝坻区| 京山县| 逊克县| 南漳县| 健康|