中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

菏泽市| 嘉善县| 贵阳市| 泌阳县| 石河子市| 贺州市| 比如县| 永平县| 罗山县| 阿拉善右旗| 汽车| 新化县| 大同县| 西安市| 济南市| 阿瓦提县| 石嘴山市| 浮山县| 霍山县| 高陵县| 邹平县| 桐柏县| 阿鲁科尔沁旗| 黔西| 色达县| 盐城市| 襄樊市| 新兴县| 彰化市| 无极县| 正蓝旗| 牙克石市| 鄂托克旗| 淮安市| 承德市| 玉龙| 油尖旺区| 山阴县| 稻城县| 楚雄市| 宁都县|