Django框架之ORM的相关操作
Posted fjiqiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django框架之ORM的相关操作相关的知识,希望对你有一定的参考价值。
一、一般操作
from django.db import models import datetime # Create your models here. class Author(models.Model): id=models.AutoField(primary_key=True) name=models.CharField(max_length=20) # 以下是测试字段 numtest=models.IntegerField() datetest=models.DateField(null=False,default=datetime.datetime(year=2000,month=1,day=1)) def __str__(self): return "名字:%s,数字:%d,日期:%s" %(self.name,int(self.numtest),self.datetest) # 设置创建的表名 class Meta: db_table="person"
以上是模型类,按照这个模型类进行记录相关操作
(1)all() 查询所有结果
通过遍历获取每个值
(2)filter(**kwargs) 根据指定条件获取对象,get(**kwargs) 根据指定条件获取对象
区别:filter方法是根据指定条件获取所有的匹配对象,如果没有获取匹配的对象,那么就返回空列表;get方法是根据指定对象获取唯一的值,如果存在大于1条或者0条数据时,get方法就会报错
(3)exclude(**kwargs) 获取所选条件不匹配对象
(4)values(*filed) 返回一个元素是字典的列表对象,返回所有对象;filed参数是指定显示的字段,如果不指定则显示全部字段。
(5)values_list(*field) 返回元素是元组的列表,返回所有的值,使用方法和values()类似
(6)order_by(*filed) 将所有查询出来的对象按照条件进行排序
(7)order_by(*filed).reverse() 反向排序
(8)distinct() 从返回结果中剔除重复的记录
(9)count() 返回查询结果的数量
(10)first() 查询第一条数据
(12)last() 返回查询出来的数据,取最后一条数据
(13)exists() 返回结果不为空返回True,否则返回False
以上是关于Django框架之ORM的相关操作的主要内容,如果未能解决你的问题,请参考以下文章