美文网首页Python
最浅显易懂的Django系列教程(19)-增删改查操作

最浅显易懂的Django系列教程(19)-增删改查操作

作者: 编程小蝉 | 来源:发表于2020-05-14 11:24 被阅读0次

模型的操作:

ORM框架中,所有模型相关的操作,比如添加/删除等。其实都是映射到数据库中一条数据的操作。因此模型操作也就是数据库表中数据的操作。

添加一个模型到数据库中:

添加模型到数据库中。首先需要创建一个模型。创建模型的方式很简单,就跟创建普通的Python对象是一摸一样的。在创建完模型之后,需要调用模型的save方法,这样Django会自动的将这个模型转换成sql语句,然后存储到数据库中。示例代码如下:

class Book(models.Model):
    name = models.CharField(max_length=20,null=False)
    desc = models.CharField(max_length=100,name='description',db_column="description1")
    pub_date = models.DateTimeField(auto_now_add=True)

book = Book(name='三国演义',desc='三国英雄!')
book.save()

查找数据:

查找数据都是通过模型下的objects对象来实现的。

查找所有数据:

要查找Book这个模型对应的表下的所有数据。那么示例代码如下:

books = Book.objects.all()

以上将返回Book模型下的所有数据。

数据过滤:

在查找数据的时候,有时候需要对一些数据进行过滤。那么这时候需要调用objectsfilter方法。实例代码如下:

books = Book.objects.filter(name='三国演义')
> [<Book:三国演义>]

# 多个条件
books = Book.objects.filter(name='三国演义',desc='test')

调用filter,会将所有满足条件的模型对象都返回。

获取单个对象:

使用filter返回的是所有满足条件的结果集。有时候如果只需要返回第一个满足条件的对象。那么可以使用get方法。示例代码如下:

book = Book.objects.get(name='三国演义')
> <Book:三国演义>

当然,如果没有找到满足条件的对象,那么就会抛出一个异常。而filter在没有找到满足条件的数据的时候,是返回一个空的列表。

数据排序:

在之前的例子中,数据都是无序的。如果你想在查找数据的时候使用某个字段来进行排序,那么可以使用order_by方法来实现。示例代码如下:

books = Book.objects.order_by("pub_date")

以上代码在提取所有书籍的数据的时候,将会使用pub_date从小到大进行排序。如果想要进行倒序排序,那么可以在pub_date前面加一个负号。实例代码如下:

books = Book.objects.order_by("-pub_date")

修改数据:

在查找到数据后,便可以进行修改了。修改的方式非常简单,只需要将查找出来的对象的某个属性进行修改,然后再调用这个对象的save方法便可以进行修改。示例代码如下:

from datetime import datetime
book = Book.objects.get(name='三国演义')
book.pub_date = datetime.now()
book.save()

删除数据:

在查找到数据后,便可以进行删除了。删除数据非常简单,只需要调用这个对象的delete方法即可。实例代码如下:

book = Book.objects.get(name='三国演义')
book.delete()

看文章不过瘾?还有免费的视频教程,让你学起来更轻松:https://www.zhiliaoketang.cn/course/detail/4.html

相关文章

  • 最浅显易懂的Django系列教程(19)-增删改查操作

    模型的操作: 在ORM框架中,所有模型相关的操作,比如添加/删除等。其实都是映射到数据库中一条数据的操作。因此模型...

  • django

    django django同步表结构建表修改表数据库操作增删改查 同步表结构 所有操作需要在项目manage.py...

  • 增删改

    对于表中的操作,就是增删改查,查内容较多,这里先说增删改。 1.增(insert或者load) 即插入数据,多行插...

  • SQL查询结构总结

    SQL 增删改查 对数据库有修改的操作是:增删改 增 insert into 表名 values(); 删 del...

  • MySQL增删改查(3)

    前面梳理了增删改查的增、删、改,本篇主要是最常用的查的最基础部分。以下面这张表的来梳理 查操作通常是查一行或者多行...

  • django2实战3.模型的增删改查

    继上篇 django2实战2.创建博客应用 django对数据的操作采用的是ORM模式,即将数据库的增删改查抽象成...

  • golang elasticsearch入门教程 --- 202

    本教程从go语言角度讲解如何对elasticsearch进行增删改查。 目前golang操作elasticsear...

  • 浅谈Redis持久化

    大家都知道Redis增删改查的操作比MYSQL增删改查操作要快。原因是MYSQL的增删改操作是在硬盘上直接操作,而...

  • mysql的插入语句

    MySQL增删改查之增insert、replace

  • Django + Django Rest Framwork +

    Django + Django Rest Framwork + Vue 实现 增删改查 [TOC] 主要分两步 D...

网友评论

    本文标题:最浅显易懂的Django系列教程(19)-增删改查操作

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