django.po,django demo

  django.po,django demo

  学习笔记,仅供参考,有错必纠。

  目录数据库的操作(CRUD操作)查询数据所有方法值_列出方法顺序_按方法过滤方法获取方法排除方法

  数据库操作(CRUD操作)

  查询数据

  数据库查询也需要使用manager对象,即通过Entry.objects manager方法调用查询接口。

  方法

  解释

  全部()

  查询所有记录并返回QuerySet查询对象。

  获取()

  查询符合条件的单个记录。

  过滤器()

  查询符合条件的多条记录。

  排除()

  查询除符合条件的记录之外的所有记录。

  所有方法

  用法Entry.objects.all()

  等价的mysql语句select * from tabel

  我们在Django shell中键入以下命令:

  [5]:从书店导入模型

  .书籍=模型。Book.objects.all()

  .对于书中的书:

  .print(书名,book.title,出版商:,book.pub)

  .

  Djangoweb开发实用出版社:清华大学出版社

  Python出版社:机械工业出版社

  r出版社:人民邮电出版社

  自定义字符串在models.py中我们还可以自定义默认字符串:

  课堂用书(模型。型号):

  标题=模型。CharField (title ,max_length=30)

  Pub=模特。CharField(出版社名称,max_length=50,null=True)

  def __str__(self):

  String=标题:%s,出版社:%s% (self.title,self.pub)

  返回字符串记住在更改models.py文件后进行迁移。

  我们再次使用Django shell键入以下命令:

  [1]:从书店导入模型

  .书籍=模型。Book.objects.all()

  .对于书中的书:

  .打印(书籍)

  .

  书名:Djangoweb开发实践,出版社:清华大学出版社

  书名:python,出版社:机械工业出版社

  书名:R,出版社:人民邮电出版社

  价值方法

  values方法返回指定的列,查询结果由字典表示。

  用法条目.对象.值(.)

  等价的mysql语句select table 1,column 2 from tabel

  返回值(QuerySet容器对象)QuerySet是查询结果容器,容器里有字典。每个字典代表一段数据,每段数据的格式为:

  {“列1”:值1,“列2”:值2}

  示例我们在Django shell下键入以下代码:

  [2]:从书店导入模型

  .书籍=模型。Book.objects.values(title , pub )

  .对于书中的书:

  .print (title ,book[title], publishing house:,book[pub])

  .print(book=,book)

  .

  Djangoweb开发实用出版社:清华大学出版社

  Book={title: Djangoweb开发实践, pub :清华大学出版社 }

  Python出版社:机械工业出版社

  Book={title: python , pub :机械工业出版社 }

  r出版社:人民邮电出版社

  Book={title: R , pub :人民邮电出版社 }

  values_list方法

  values_list方法返回指定的列,查询结果用ancestor表示。

  用法条目.对象.值_列表(.)

  返回值查询的数据(QuerySet容器对象)会封装成元组,然后封装成QuerySet查询集。

  示例我们在Django shell下键入以下代码:

  [3]:从书店导入模型

  .书籍=模型。book . objects . values _ list( title , pub )

  .对于书中的书:

  .print(book=,book)

  .

  book=(《Djangoweb开发实践》,《清华大学出版社》)

  book=(《python》,《机械工业出版社》)

  book=(“R”,“人民邮电出版社”)

  Order_by方法

  order_by方法可用于对查询进行排序。与all()方法不同,它使用SQL语句的ORDER BY子句对查询结果进行排序。

  用法entry . objects . order _ by(-column , column )默认情况下按升序排序,而降序要求在列前加-减号。

  例如,我们在Django shell下键入以下代码:

  [6]:从书店导入模型

  .作者=模型。Author.objects.order_by(age )

  .对于作者中的作者:

  .打印(姓名:,作者.姓名,年龄:,作者.年龄)

  .

  姓名:黄啸年龄:10岁

  名称:山羊年龄:23

  方法过滤器

  过滤方式可以根据条件查询多条记录。

  用法Entry.objects.filter(属性1=值1,属性2=值2)

  QuerySet查询结果的返回值是QuerySet容器对象,入口实例存储在容器中。

  例如

  我们在Django shell下键入以下代码:

  [7]:从书店导入模型

  .books=models . book . objects . filter(pub=机械工业出版社)

  .对于书中的书:

  .print(书名:,book.title)

  .

  标题:python

  获取方法

  get方法可以返回满足查询条件的唯一一段数据,

  用法Entry.objects.get(条件)

  返回值条目对象

  例如

  如果我们有一个以上的查询结果,我们将报告多个ObjectsReturned异常。

  从书店导入模型

  author=models . author . objects . get(age _ _ range=(20,30))错误信息:

  MultipleObjectsReturned: get()返回了多个作者-它返回了2!

  如果没有查询结果,模型。引发了DoesNotExist异常。

  从书店导入模型

  author=models . author . objects . get(id=100)错误信息:

  DoesNotExist:匹配查询的作者不存在。

  如果只有一个查询结果,则不会报告错误:

  [12]:从书店进口型号

  .作者=模特。Author.objects.get(id=1)

  .打印(作者姓名)

  .

  山羊

  排除方法

  exclude方法将返回不包含此条件的数据集。

  用法Entry.objects.exclude(条件)

  例如在[13]:books=models . book . objects . exclude(pub=清华大学出版社)

  .对于书中的书:

  .打印(书籍)

  .

  书名:python,出版社:机械工业出版社

  书名:R,出版社:人民邮电出版社

  转载请联系作者获得转载授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: