美文网首页
Django 模型API基本数据访问

Django 模型API基本数据访问

作者: LittleTrue | 来源:发表于2019-02-15 17:14 被阅读0次

一旦你创建了模型,Django自动为这些模型提供了高级的Python API。 运行 python manage.py shell 并输入下面的内容试试看:

模型数据insert和update
//从应用。模型中导入模型关系映射类
 >>> from GDweb.models import amazon_search

//实例化该类, 传入字段数据
 >>> as_mod = amazon_search(goods_name='Apress', goods_attr='Avenue',
 goods_price='22.2', comment_num='1', comment_star='1',
 detail_href='http://www.apress.com/', price_quality='1')

//将对象字段属性保存到数据库
 >>> as_mod.save()

//接下来再调用 save() 将不会创建新的记录,而只是修改记录内容(也就是 执行 UPDATE SQL语句,而不是 INSERT 语句):
>>> as_mod.name = 'Apress Publishing'
>>> as_mod.save()

模型数据select
//从一个给定的模型表类中取出所有记录(注意这里是模型类, 不是由模型类实例驱动):
//返回列表
 >>> amazon_search.objects.all()

//数据过滤筛选条件查询
//返回列表
 >>> amazon_search.objects.filter(name='Apress')

//数据过滤筛选条件查询
//返回单个对象
 >>> amazon_search.objects.get(name='Apress')

//多种返回方式
all()   获取所有   ob = models.Users.objects.all()
filter()  筛选  ob = models.Users.objects.filter(id = 1)
exclude()  排除
order_by()  排序
values():一个对象构成一个字典,然后构成一个列表返回
count()  结果集数量

//排序
//返回列表
 >>> amazon_search.objects.order_by("name")

//限制返回数量
//对于返回一个列表的方法, 可以用列表的分片和索引操作进行限制
 >>> amazon_search.objects.filter(name='Apress')[0:2]

//批量更新使用update方法对, 对列表对象使用update即为批量修改
amazon_search.objects.filter(name='Apress').update(country='USA')
模型select操作构造多样化的查询语句:

__contains 完成魔术操作构造LIKE语句模糊查询

//会生成  WHERE name LIKE '%press%';
amazon_search..objects.filter(name__contains="press")

更多操作参考
注意: 以上介绍的多个操作可以进行链式连锁从而构造复杂查询
注意: 如果需要一步完成上面的对象的创建与存储至数据库,就使用objects.create() 方法。

模型删除对象

删除数据库中的对象只需调用该对象的delete()方法即可:

//用法与update相同, 可以删除get获取的单个对象对应的数据, 也可以批量删除
amazon_search.objects.filter(name='Apress').delete()

注意:
取模型数据的时候大多数都会用

teacher = TeacherModer.objects.filter(id=user_id).first()

而不是

teacher = TeacherModer.objects.get(id=user_id)

get 方法在取不到值或者取到多个值的时候会触发异常

filter 方法在取不到会返回一个空的Queryset,而防止取多我们可以调用.first()方法调用队列中的第一个对象

相关文章

  • Django 模型API基本数据访问

    一旦你创建了模型,Django自动为这些模型提供了高级的Python API。 运行 python manage....

  • Django模型:基本数据访问

    一旦你创建了一个模型,Django自动提供了一个高级的Python API来处理这些模型。 通过在虚拟环境中运行p...

  • Django blog - Django models 介绍

    欢迎访问个人博客 Abstract Django 模型models是与数据库相关的。Django 为 sqlite...

  • 数据库API

    Django官方文档 执行查询 一旦创建 数据模型 后,Django 自动给予你一套数据库抽象 API,允许你创建...

  • Django - 02-Django模型

    [toc] 1 模型 Django对各种数据库都提供了很好的支持,Django为这些数据库提供了统一的调用API,...

  • 03-Django模型

    一、模型 Django对各种数据库提供了很好的支持,Django为这些数据库提供了统一的调用API(即不管底层操作...

  • Django模型

    一、模型 Django对各种数据库提供了很好的支持,Django为这些数据库提供了统一的调用API(即不管底层操作...

  • 模型使用指南

    模型使用指南 前言 Django对数据库提供了很好的支持,对不同的数据库,django提供了统一调用的API,我们...

  • 03-Django模型

    一、模型 Django对各种数据库提供了很好的支持,Django为这些数据库提供了统一的调用API(即不管底层操作...

  • 03-Django模型

    一、模型 Django对各种数据库提供了很好的支持,Django为这些数据库提供了统一的调用API(即不管底层操作...

网友评论

      本文标题:Django 模型API基本数据访问

      本文链接:https://www.haomeiwen.com/subject/razpeqtx.html