国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 使用Django框架中ORM系統實現對數據庫數據增刪改查

使用Django框架中ORM系統實現對數據庫數據增刪改查

2021-12-30 00:24孤寒者 Python

這篇文章主要介紹了使用Django的ORM實現對數據庫數據增刪改查方法,文中附含詳細示例代碼以及過程詳解,有需要的朋友可以借鑒參考下

1.數據的增刪改查----------增加數據

在視圖函數中導入User模型類,然后使用下面的方法添加數據:

from django.http import HttpResponse
from .models import User
# Create your views here.
def add_user(request):
  #方法一
  taka = User(name='taka',age=18)
  taka.save()
  #方法二
  xiaopo = User()
  xiaopo.name = 'xiaopo'
  xiaopo.age = 18
  xiaopo.save()
  #方法三
  aa = User.objects.get_or_create(name='xiaohong',age=18)  #插入前會進行查找,如果沒有相同的數據就會添加;如果有就不會。
  print(aa)       #會返回一個元組,第一個數據是添加成功的實例;第二個數據是True或False。(添加成功為True;反之為False)
  # 此處打印結果:   (<User: name:xiaohong, age:18>, True)

  # 插入前會進行查找,如果沒有相同的數據就會添加;如果有就不會。   因為上面插入了相同數據,所以此處不會插入數據。
  User.objects.get_or_create(name='xiaohong',age=18)  
  return HttpResponse("插入數據成功!")

實現效果:
(注意:分配一下路由,要訪問到此視圖才會執行?。?/p>

使用Django框架中ORM系統實現對數據庫數據增刪改查

使用Django框架中ORM系統實現對數據庫數據增刪改查

 

2.數據的增刪改查----------查找數據

這時在定義模型類時定義的__str__()方法的作用就表現了出來

控制查詢的數據顯示的格式(即顯示模型的簡單表示)

from django.db import models
# Create your models here.
class User(models.Model):
  id = models.AutoField(primary_key=True)       #主鍵可以省略,Django默認會為我們加上一個名為id的主鍵,寫的話就可以改主鍵的名字!
  name = models.CharField(max_length=50)        # CharField――字符串
  age = models.IntegerField()                   # IntegerField――整數
  def __str__(self):
      """
      返回模型的字符串表示
      我們告訴Django,默認應使用哪個屬性來顯示有關此模型的信息
      Django調用方法__str__()來顯示模型的簡單表示
      """
      return "name:%s, age:%s" %(self.name,self.age)

進行查詢:

User模型類導入

from django.http import HttpResponse
from .models import User
def search_user(request):
  #查詢所有記錄對象
  rs1 = User.objects.all()
  print("這是所有記錄對象:",rs1)			#通過觀察,可以發現查詢到的記錄對象的輸出方式就是模型中的__str__的格式.
  # 同時這個查詢結果rs1是個queryset對象,是一個類似于列表的對象。具備列表里的一些常用方法,比如:切片[0:3],下標取值rs1[1]...但是下標取值的話不支持反向取值。
  #查詢一個記錄對象
  rs2 = User.objects.get(name="xiaopo")  # 此方法查詢,如果不存在/存在多條都會報錯!  所以一般通過id值。
  print("這是一個記錄對象:",rs2)
  #查詢滿足條件的對象
  rs3 = User.objects.filter(name='xiaoming')  # 取不到則為空;多條的話都可以取到
  print("這是滿足條件的對象:",rs3)
  return HttpResponse("查詢數據成功!")

注意:
1.all()和filter()方法返回的是QuerySet對象,查詢不到則為空(但咋樣都不會報錯,就很牛!)。
2.get()方式返回的單個對象,如果符合條件的對象有多個,則get報錯!而且如果查詢不到也會報錯!

實現效果:

使用Django框架中ORM系統實現對數據庫數據增刪改查

使用Django框架中ORM系統實現對數據庫數據增刪改查

3.拓展――關于QuerySet簡單整兩句:

從數據庫中查詢出來的結果一般是一個集合,這個集合叫做 QuerySet(是一個類似于列表的對象,具備列表里的一些常用方法,比如:切片[0:3],下標取值rs1[1]…但是下標取值的話不支持反向取值).QuerySet是可迭代對象.QuerySet支持切片, 不支持負索引.可以用list強行將QuerySet變成列表.

 

3.數據的增刪改查----------刪除數據

from django.http import HttpResponse
from .models import User
def delete_user(request):
  #實例和QuerySet對象都具備刪除方法!    
  User.objects.get(id=1).delete()				#get方法得到的是單個對象(一個實例對象),所以是刪除一條數據!    
  User.objects.filter(age=18).delete()		#刪除所有age屬性值為18的數據!    
  User.objects.all().delete()					#刪除所有數據!    
  s = User.objects.filter(age=18)
  s[1].delete()								#刪除age值為18的數據中指定的一條    
  return HttpResponse("刪除數據成功!")

 

4.數據的增刪改查----------修改數據

from django.http import HttpResponse
from .models import User
def update_user(request):
  #第一種方法:先查找到數據,然后再進行屬性賦值修改(對于實例的修改)
  rs = User.objects.get(name="xiaoming")		#修改name屬性值為xiaoming的name屬性值為xiaowang(因為使用了get方法所以僅修改第一條?。?
  rs.name='xiaowang'
  rs.save()    
  #第二種方法:使用update方法直接修改(對于集合的修改,只能用于QuerySet對象)
  User.objects.filter(name='xiaowang').update(name='AAA')	#修改所有name屬性值為xiaowang的name屬性值為AAA!    
  User.objects.all().update(age=22)			#修改所有數據的age屬性值為22!    
  return HttpResponse("修改數據成功!")

以上就是使用Django的ORM實現對數據庫數據增刪改查方法的詳細內容,更多關于Django中實現ORM對數據庫操作的資料請關注服務器之家其它相關文章!

原文鏈接:https://gu-han-zhe.blog.csdn.net/article/details/119982764

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 自拍在线| 可以免费看黄色的网站 | 日韩一区二区视频在线 | 久久99久久99精品免观看粉嫩 | 国产在线综合视频 | 亚洲精品乱码久久久久久花季 | 日本不卡一区二区 | 亚洲国产精品自拍视频 | 日韩高清一区二区 | 亚洲成人精品视频 | 男人天堂a | 国产视频福利 | 天堂v视频 | 精品一区二区不卡 | 人人射av | 一级毛片免费看 | 亚洲精品成人av | 一区二区精品 | 午夜电影福利 | 免费自拍偷拍视频 | 欧美成人a∨高清免费观看 国产99久久 | 九九久久精品 | 伦理午夜电影免费观看 | 看av网站 | 少妇久久久| 日韩欧美一级精品久久 | 亚洲一区二区三区视频 | 亚色在线 | 精品久久久久久久久久久下田 | www.色婷婷| 黄色大片网站 | 久久精品伊人 | 精品久久国产老人久久综合 | 这里只有精品在线播放 | 九九porny88av | 亚洲国产精品网站 | 欧美伦理电影一区二区 | 女男羞羞视频网站免费 | 欧美日韩在线免费观看 | 伊人一区 | www麻豆|