django中模型的简单操作

摘要

自己总结的一些,django中模型的简单操作,有错误的地方,希望大家指出!!

自己总结的一些,django中模型的简单操作,有错误的地方,希望大家指出!!

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='')  #基本信息

一、增加一个对象
(1)先创建一个对象,然后执行save

 person = Person_Tbl()   #只是创建,并没有保存到数据库中  person.name = name  person.sex =  sex  person.height = height  person.birthday = birthday  person.phone = phone  person.info = text  person.save()    #真正保存到数据库中

(2)直接使用create()

 person.objects.create(name=name, sex=sex, height=height, birthday=birthday,phone=phone,text=text)

二、查找一个对象
(1)获取表中的全部对象

all_person = Person_Tbl.objects.all()

(2)使用filter选择符合条件的对象集合

person = Person_Tbl.objects.filter(name=name)

(3)使用get选择符合条件的对象,有且存在一个对象的时候正确,否则会返回异常

person = Person_Tbl.objects.get(name=name)

(4)联合查询

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相同的对象,并去除重复 person = Person_Tbl.objects.filter(name=name).order_by('name')#返回与查询字段name相同对象,以name进行排序 person = ConfigTbl.objects.filter(~Q(name = name) #返回与查询字段name不相同对象

三、删除一个对象
(1)先取出要删除的对象,然后使用delete方法

person = Person_Tbl.objects.filter(name=name) person = person[0] person.delete() #注意:使用filter的时候返回的QuerySet集合,所以需要选取出集合的对象  person = Person_Tbl.objects.get(name=name) person.delete() #注意:使用get的时候返回的是Person_Tbl的一个对象  person = Person_Tbl.objects.filter(name=name).delete()

四、修改一个对象
(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)

免责声明:本文来自于网络,如有侵权,请联系本站管理员,将立即删除侵权内容!

weinxin
我的微信
有问题微信找我
DannyWu

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

Protected with IP Blacklist CloudIP Blacklist Cloud