自己總結(jié)的一些刊殉,django中模型的簡單操作,有錯(cuò)誤的地方猪腕,希望大家指出H叱骸!
class Person_Tbl(models.Model):
'''
定義人物類
'''
name = models.CharField(max_length=254,default='') #姓名
sex = models.CharField(max_length=125,default='') #性別
height = models.IntegerField(default=170) #身高
birthday = models.DateTimeField(auto_now_add=True) #生日
phone = models.BigIntegerField(default=0) #電話
info = models.TextField(default='') #基本信息
一陋葡、增加一個(gè)對象
(1)先創(chuàng)建一個(gè)對象亚亲,然后執(zhí)行save
person = Person_Tbl() #只是創(chuàng)建,并沒有保存到數(shù)據(jù)庫中
person.name = name
person.sex = sex
person.height = height
person.birthday = birthday
person.phone = phone
person.info = text
person.save() #真正保存到數(shù)據(jù)庫中
(2)直接使用create()
person.objects.create(name=name, sex=sex, height=height, birthday=birthday,phone=phone,text=text)
二腐缤、查找一個(gè)對象
(1)獲取表中的全部對象
all_person = Person_Tbl.objects.all()
(2)使用filter選擇符合條件的對象集合
person = Person_Tbl.objects.filter(name=name)
(3)使用get選擇符合條件的對象捌归,有且存在一個(gè)對象的時(shí)候正確,否則會返回異常
person = Person_Tbl.objects.get(name=name)
(4)聯(lián)合查詢
person = Person_Tbl.objects.filter(name=name, sex=sex) #返回與查詢字段name和sex都相同的對象
person = Person_Tbl.objects.filter(name=name).exclude(sex=sex) #返回與查詢字段name相同岭粤,但是與查詢字段sex不同的對象
person = Person_Tbl.objects.filter(name=name).values('name')#返回與查詢字段name相同的對象惜索,但是只返回name字段
person = Person_Tbl.objects.filter(name=name).values_list('name')返回與查詢字段name相同對象,但是只返回name字段
person = Person_Tbl.objects.filter(name=name).distinct()#返回與查詢字段name相同的對象剃浇,并去除重復(fù)
person = Person_Tbl.objects.filter(name=name).order_by('name')#返回與查詢字段name相同對象巾兆,以name進(jìn)行排序
person = ConfigTbl.objects.filter(~Q(name = name) #返回與查詢字段name不相同對象
三、刪除一個(gè)對象
(1)先取出要刪除的對象虎囚,然后使用delete方法
person = Person_Tbl.objects.filter(name=name)
person = person[0]
person.delete()
#注意:使用filter的時(shí)候返回的QuerySet集合,所以需要選取出集合的對象
person = Person_Tbl.objects.get(name=name)
person.delete()
#注意:使用get的時(shí)候返回的是Person_Tbl的一個(gè)對象
person = Person_Tbl.objects.filter(name=name).delete()
四角塑、修改一個(gè)對象
(1)獲取對象,然后修改,最后save()
person = Person_Tbl.objects.filter(name=name)
cur_person = person[0]
cur_person.name = name
cur_person.height = 170
cur_person.save()
person = Person_Tbl.objects.get(name=name)
person.name = name
person.height = 170
person.save()
(2)使用update()
person = Person_Tbl.objects.filter(name=name).update(name=name, height=170)