Django 常用命令与查询

ORM

orm对象关系映射,是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。可以简单理解为翻译机。

查询:

student.objects.all()

all()—->查询所有的数据

filter()—->查询满足条件的,获取值为空返回空

get()—–>获取数据必须要有值不然会报错,只能返回一个数据

exclude()——->不满足的不包含

order_by(‘-id’)—–>降序排列

oder_by(‘id’)—->升序

values()———->返回字典列表

first():返回查询集中的第一个对象

last():返回查询集中的最后一个对象

count():返回当前查询集中的对象个数

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

pk:代表主键,也就是id。filter(pk=1)

gt:大于 gte:大于等于 lt:小于 lte:小于等于

聚合函数

aggregate()函数返回聚合函数的值

Avg:平均值

Count:数量

Max:最大

Min:最小

Sum:求和

例如: Student.objects.aggregate(Max(‘age’))

字段类型

  • 选项

  • 字段属性

选项 说明
null 数据库中对应的字段是否允许为NULL,默认为False
blank 后台模型管理验证数据时,是否允许为NULL,默认为False
choices 设定字段的选项,各元组中的第一个值是设置在模型上的值,第二值是人类可读的值
db_column 字段对应到数据库表中的列名,未指定时直接使用字段的名称
db_index 设置为True时将在该字段创建索引
db_tablespace 为有索引的字段设置使用的表空间,默认为DEFAULT_INDEX_TABLESPACE
default 字段的默认值
editable 字段在后台模型管理或ModelForm中是否显示,默认为True
error_messages 设定字段抛出异常时的默认消息的字典,其中的键包括null、blank、invalid、invalid_choice、unique和unique_for_date
help_text 表单小组件旁边显示的额外的帮助文本。
primary_key 将字段指定为模型的主键,未指定时会自动添加AutoField用于主键,只读。
unique 设置为True时,表中字段的值必须是唯一的
verbose_name 字段在后台模型管理显示的名称,未指定时使用字段的名称
不满足年龄等于16# stus = Student.objects.exclude(s_age=16)
 查询年龄filter 
  stus=Student.objects.filter(s_age=16)

按年龄排序stus = Student.objects.order_by('s_age')

 获取所有学生(按照id降序)中第一个学生信息
    stus=Student.objects.all().order_by('-id')[0]
    stus = Student.objects.all().order_by('-id').first()
获取所有学生(按照id降序)中第最后一个学生信息
stus=Student.objects.all().order_by('-id').last()
模糊查询姓名中包含张的
stus=Student.object.filter(s_name__contains='张')
 获取以张开头的姓名
   stus = Student.objects.filter(s_name__startswith='张')

 获取以飞结尾的姓名
  stus = Student.objects.filter(s_name__endswith='飞')

     gt:大于 gte:大于等于 lt:小于 lte:小于等于
    stus = Student.objects.filter(s_age__gt=16)
    stus = Student.objects.filter(s_age__lt=16)
     查询id等于1,2的学生信息
    stus=Student.objects.filter(id__in=[1,2])

    查询姓名中包含张,并且年龄大于16
 stus=Student.objects.filter(s_name__contains='张',s_age__gt=16)

猜你喜欢

转载自blog.csdn.net/zhang_qings/article/details/81569774