django models视图基本操作

模型层

模型层的13个方法

  all()  查询所有结果

  filter(**kwargs)  它包含了与所给筛选条件相匹配的对象

  get(**kwargs)  返回与所给的筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条  件的对象超过一个或者没有都会抛出错误。(源码就去搂一眼~诠释为何只能是一个对象)

  reverse() 对查询结果反向排序>>>前面需要先有排序才能反向

  order_by() 对查询的结果做排序("-id")/("price)

  exclude()  它包含了给的条件不匹配的对象

  values() 返回一个valuequeryset 一个特殊的Queryset与与逆行后得到的并不是一系列的model的实例化对象,而是一个可迭代的字典序列

  values_list() 他与values()

  count()非常相似,他返回的是一个元组序列,values返沪ide是一个字典序列

  distinct() 从返回的结果中剔除掉重复的记录,这个记录要完全相同

  exints() 用于判断 queryset有没有包含数据有数据返回True 没有对象那么就返回False

  first() 返回i一条记录

  last() 返回最后一条记录\

CharField(max_length=255) 创建表字段相当于mysql中的char ,max_lenget字段的长度
DecimalField(max_digits=8,decimal_places=2) 小数创建,(显示整数,显示小数)
DateField(auto_now_add=True) 时间创建 时间自动创建 每次以再给表添加字段的时候表都会自动添加时间
models.IntegerField(null=True) 设置整形字段,整形字段可以不用传参默认使用显示11位 设置可以为空
models.ForeignKey(to='Publish')设置外键 外键字段直接放入所对应的类的名字 他会自动将该类的主键字段传入
models.ManyToManyField(to="Author") 多对多字段,也是将类的名字放入

models.EmailField()  # 就是varchar(254)
models.OneToOneField(to="AuthorDetail") 建立一对一的字段
models.BigIntegerField  64位整数,类似于IntegerField,范围从-9223372036854775808 到9223372036854775807。默认的form widget 是TextInput。

 

posted @ 2019-09-19 23:02  杨鑫Zz  阅读(706)  评论(0编辑  收藏  举报