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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。