后端Num03

2018-11-12  本文已影响0人  山野过客

属性命名限制: (1) . 不能是python 的保留关键字

(2) . 不允许使用连续的下划线

(3) . 定义属性时需要指定字段类型,通过字段类型的参数指定选项 属性=models.字段类型(选项)

字段类型:使用时需要引用 from django.db.models 包

null 和 blank ? --->>  null 是数据库的概念,  blank 是表单验证的概念.

django 条件查询简书下面---->

查询集: 查询集,也称查询结果集、QuerySet,表示从数据库中获取的对象集合。

当调用如下过滤器方法时,Django会返回查询集(而不是简单的列表):

get(): 返回满足条件的一条数据,(有且只返回一条).

all():返回所有数据。

filter():返回满足条件的数据。

exclude():返回满足条件之外的数据。

order_by():对结果进行排序。

aggregate():进行聚合操作,返回一个字典. Avg  Sum ,Count , Max ,Min

exists():判断查询集中是否有数据,如果有则返回True,没有则返回False。

查询集两大特性:(1).惰性查询              (2).查询集的缓存

限制查询集

可以对一个查询集进行 取下标或切片 操作,等同于sql中的limit和offset子句。

模型类关系 : (1) . 一对多,将字段定义在多的一端中。

(2) . 多对多,将字段定义在任意一端中。

(3) . 将字段定义在任意一端中。

关联查询;

(1). 由一到多的访问语法:

一对应的模型类对象.多对应的模型类名小写set

例:

b = BookInfo.objects.get(id=1)

b.heroinfo_set.all()

(2). 由多到一的访问语法:

多对应的模型类对象.多对应的模型类中的关系类属性名

例:

h = HeroInfo.objects.get(id=1)

h.hbook

自关联 : 自关联是一种特殊的一对多的关系。

模型类扩展

模型实例方法

str():在将对象转换成字符串时会被调用。

save():将模型对象保存到数据表中,ORM框架会转换成对应的insert或update语句。

delete():将模型对象从数据表中删除,ORM框架会转换成对应的delete语句。

模型类的属性: 属性objects:管理器,是models.Manager类型的对象,用于与数据库进行交互。

管理器可以自己定义  例:class BookInfo(models.Model):    --->    books = BookInfoManager()

元选项

在模型类中定义类Meta,用于设置元信息,如使用db_table自定义表的名字。

数据表的默认名称为:

  例:booktest_bookinfo

上一篇 下一篇

猜你喜欢

热点阅读