码迷,mamicode.com
首页 > 其他好文 > 详细

Django框架之ORM的相关操作

时间:2019-05-24 09:14:33      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:max   表名   inf   person   reverse   通过   filter   tin   rgs   

一、一般操作

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的相关操作

标签:max   表名   inf   person   reverse   通过   filter   tin   rgs   

原文地址:https://www.cnblogs.com/fjiqiang/p/10915602.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!