Django 4.2 复习笔记(四)数据的查询Django的ORM
Django的ORM操作非常简答,几乎把所有你能想到的数据库的操作都封装了,即便没有你需要的,也可以使用原生的SQL语句进行查询。
创建模型
为了测试查询,先创建一个简单的Django模型:
myapp/models.py
class Article(models.Model):
title = models.CharField(max_length=128,verbose_name='文章标题')
content = models.TextField(verbose_name='文章内容')
其他还有一些操作:配置文件里需要添加应用,连接数据库和生成数据库的表,这些操作之前都有介绍,参考:Django 4.2 复习笔记(二)编写和调试Model模型
增删改查(CRUD)
终端下敲入:
$ python manage.py shell
开始测试Django的增删改查(CRUD)
添加数据
>>> from myapp.models import Article
>>> a = Article(title="测试文章的标题",content="哈哈,我来测试一下......")
>>> a.save()
>>> a.title
'测试文章的标题'
>>> a.id
2
更新数据
>>> a.title="修改后的标题"
>>> a.save()
>>> a.title
'修改后的标题'
>>>
删除数据
>>> a.delete()
此时数据已经删除,在表中已不存在。
查询
数据的查询的需求有时是非常复杂的,这里只列举一些常用的查询。
Django的ORM数据操作常用函数:
all()函数,返回符合条件的全部记录。
arts = Article.objects.all()
filter()函数,返回指定条件的记录。filter后面的括号内为过滤条件,类似于SQL中语句where后面的条件语句。
>>> b = Article.objects.filter(title='aaa')
>>> len(b)
1
>>>
用 get() 检索单个对象.
c = Article.objects.get(title='aaa')
order_by()函数,按照order_by后面括号中的字段排序。
exclude(**kwargs) 返回一个新的 QuerySet,包含的对象 不 满足给定查询参数。
总结
Django查询还有很多方法,这里就不一一介绍了,请参考官方文档:
标签: Django
相关文章
- Django 4.2 复习笔记(九)Django Forms 使用表单
- Django 4.2 复习笔记(九)使用Django的上下文处理器(context processor)
- 如何单独使用Django ORM 在非Django项目中使用Django ORM?
- Django 4.2 复习笔记(八)Django 模板语言语法
- Django 4.2 复习笔记(七)Django 模板(TEMPLATES)
- Django 4.2 复习笔记(六)Django的路由
- SQLAlchemy的关系字段和Django的关系字段他们的不同点。
- Django 4.2 复习笔记(五)Django中常见的关系字段及其示例
- Django 4.2 复习笔记(三)Model模型字段
- Django 4.2 复习笔记(二)编写和调试Model模型
- Django 4.2 复习笔记(一)迅速概览