1.逻辑关系
1.1 与
1.1.1 filter()中用逗号分隔多个过滤条件
qs = Projects.objects.filter(id='xx', full_name='xxx')
1.1.2 链式多次调用filter()方法
qs = Projects.objects.filter(full_name='xxx').filter('id'='xx')
1.2 或
使用Q类来指定或关系,过滤条件用 | 分隔
qs = Projects.objects.filter(Q(full_name__contains='2') | Q(leader='jeanet'))
2.排序操作
QuerySet对象.order_by("-id",'full_name')
使用QuerySet对象.order_by(‘字段1’,‘字段2’,‘-字段3’),默认使用asc排序,可以通过字段前加‘-’来指定desc降序
3.更新记录操作
3.1 通过obj.字段名=xxxx覆盖后通过obj.save()方法 保存,是为记录全更新
通过obj.字段名=xxxx覆盖后通过obj.save(update_fields=[“字段1“,”字段2“])方法 保存,
指定更新的字段,是为部分字段更新
3.2 通过QuerySet对象.update(字段名=‘xxx‘)更新多条数据
4.删除记录操作
4.1 QuerySet对象.delete(),删除多条记录
4.2 obj.delete(),删除单条记录