django的ORM操作 增加和查询

好的!下面是关于Django ORM的增加和查询操作的详细攻略及两个示例:

增加数据

在Django中使用ORM增加数据很简单,只需要三个步骤:

  1. 创建模型实例
  2. 将需要保存的数据赋值给模型实例的属性
  3. 调用模型实例的save()方法保存数据

示例1:我们现在要实现一个功能,就是在网站中添加一篇文章。假设我们的模型如下:

class Article(models.Model):
    title = models.CharField(max_length=100)
    body = models.TextField()
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    created_at = models.DateTimeField(auto_now_add=True)

我们可以按照以下方式添加文章:

article = Article(title="新文章", body="这是一篇新文章的正文", author=request.user)
article.save()

这里我们创建了一个Article模型实例,并将文章的标题、正文、作者分别赋值给了titlebodyauthor这三个字段。最后调用save()方法就可以将文章保存到数据库中了。

数据查询

Django ORM的查询功能是ORM的一大优势。Django提供的ORM查询语法可以大大简化我们的代码,避免了手动构造SQL语句的繁琐。

示例2:现在我们要查询数据库中的所有文章,并按创建时间的倒序排列。可以按照以下方式进行查询:

articles = Article.objects.order_by('-created_at')

这里我们使用了objects属性获取Article模型的所有实例,并通过order_by()方法按照创建时间的倒序排列。最后返回的是一个包含所有文章的查询集,我们可以使用循环遍历这个查询集,获取每篇文章的具体内容。

以上就是关于Django ORM增加和查询操作的完整攻略及两个示例。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:django的ORM操作 增加和查询 - Python技术站

(0)
上一篇 2023年4月17日
下一篇 2023年5月15日

相关文章

  • Django urls.py报错: raise TypeError(‘view must be a callable or a list/tuple in the case of include()

    Django urls.py报错: raise TypeError(‘view must be a callable or a list/tuple in the case of include()   报错信息 “F:\PyCharm 2016.2.2\bin\runnerw.exe” C:\Users\Administrator\AppData\Loca…

    Django 2023年4月10日
    00
  • 在ubuntu16上进行nginx+uwsgi+django部署的简要步骤

    网上有很多部署教程,说了一大堆,遇到坑还是要自己一个个解决,这里有几个比较重要的坑大家一定要注意。 1、首先要安装python和python-dev环境,如果没有安装python-dev后面安装有些依赖要报错。这是第一个坑。 apt-get install python python-dev pip 2、安装uwsgi要先安装gcc的编译环境。这是第二个坑。…

    Django 2023年4月13日
    00
  • Django框架文件保存的流程(以及自定义FDFS)

    Django框架文件保存的流程 自定义文件存储类过程说明 from django.core.files.storage import Storage from django.conf import settings from fdfs_client.client import Fdfs_client from rest_framework.exception…

    Django 2023年4月13日
    00
  • Django的学习——全局的static和templates的使用

    一、问题 首先我们在进行Django框架搭建的时候我们需要建立一个全局的变量,一是为了实现代码的复用,二是为了方便管理,如下图的样式   二、解决 1、修改setting里面的配置文件①templates的路径:按照以下的规则进行添加【app/templates】,然后在APP下面建立这个templates。 APP下的:   ②static的路径:在最后添…

    Django 2023年4月12日
    00
  • django 模型字段设置默认值代码

    当我们在使用 Django 框架时,经常需要定义数据库模型,而模型中的字段往往需要提供默认值,以在创建新对象时提供默认初始化值。 下面是设置模型字段默认值的完整攻略: 1. 使用默认值作为固定值 如果要将模型字段的默认值设置为一个固定值,可以在字段定义中指定 default 属性,并将其设置为相应的值。 例如,我们想定义一个名为 Person 的模型,其具有…

    Django 2023年5月15日
    00
  • django的聚合函数和aggregate、annotate方法使用详解

    标题:Django的聚合函数和aggregate、annotate方法使用详解 在Django的ORM中,聚合函数和aggregate、annotate方法是用来对查询的结果进行统计和分析的常用方法。下面详细介绍聚合函数和这两个方法的使用方法,并提供两个示例说明。 一、聚合函数 聚合函数是用来对查询结果进行统计分析的函数。常用的聚合函数有:Count(), …

    Django 2023年5月16日
    00
  • Django项目部署搭建uWSGI工作环境

    安装uWSGI 在Linux系统中,可以使用以下命令安装uWSGI: sudo apt-get update sudo apt-get install build-essential python3-dev sudo pip3 install uwsgi 创建Django项目 使用Django创建一个新项目: django-admin startprojec…

    Django 2023年3月13日
    00
  • Django笔记二十三之case、when操作条件表达式搜索、更新等操作

    本文首发于公众号:Hunter后端原文链接:Django笔记二十三之条件表达式搜索、更新等操作 这一篇笔记将介绍条件表达式,就是如何在 model 的使用中根据不同的条件筛选数据返回。 这个操作类似于数据库中 if elif else 的逻辑。 以下是本篇笔记的目录: model 和数据准备 When 和 Case 操作新增字段返回 条件搜索 条件更新 条件…

    Django 2023年4月14日
    00
合作推广
合作推广
分享本页
返回顶部