您的位置:首页 > 编程语言 > Go语言

Django学习之模型的操作详解

2017-06-06 22:30 429 查看
本文和大家分享的主要是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)

来源:简书
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: