django的ORM操作 增加和查询

yizhihongxing

好的!下面是关于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笔记九之model查询filter、exclude、annotate、order_by

    在接下来四五篇笔记中,将介绍 model 查询方法的各个细节,为我们的查询操作提供各种便利。 本篇笔记将介绍惰性查找、filter、exclude、annotate等方法,目录如下: 惰性查找 filter exclude annotate alias order_by 1、惰性查找 前面我们在介绍 Django 增删改查的时候,提到过他的惰性查找的规则。 …

    2023年4月10日
    00
  • django,inspectdb,操作已经存在的表

    1.Django附带了一个名为inspectdb程序,它可以通过现有数据库来创建模型,并将相关模型代码另存到指定文件中。在新建的newmodels.py文件中挑选指定表格对应的模型代码,并将其复制到相关的文件中。 1 python manage.py inspectdb > newmodels.py 若要操作指定数据库,使用如下代码: 1 python…

    Django 2023年4月12日
    00
  • Django+Vue打造购物网站(十)

    首页、商品数量、缓存和限速功能开发 将环境切换为本地,vue也切换为本地 轮播图 goods/serializers.py class BannerSerializer(serializers.ModelSerializer): ”’ 轮播图 ”’ class Meta: model = Banner fields = “__all__” goods/v…

    Django 2023年4月9日
    00
  • 给Python的Django框架下搭建的BLOG添加RSS功能的教程

    给Python的Django框架下搭建的BLOG添加RSS功能的教程如下: 1. 安装Django开发环境 在开始添加RSS功能之前,你需要先安装Django开发环境。你可以使用pip命令来安装: pip install django 如果你已经安装了Django,你可以使用下面的命令来检查版本号: python -m django –version 2.…

    Django 2023年5月16日
    00
  • Django报错Watching for file changes with StatReloader

    Django项目运行时出现:Watching for file changes with StatReloader错误 原因:环境里的django或者python的版本有问题 解决方案:升级或者降级Django版本 1、直接安装需要的指定版本: pip install django==2.0 或者更新版本: pip install –upgrade ***…

    Django 2023年4月11日
    00
  • Django admin后台美化(极其简单)

    使用django-simpleui模块; 直接pip安装即可: pip install django-simpleui 然后在setting.py中注册即可: INSTALLED_APPS = [ ‘simpleui’, ‘django.contrib.admin’, ‘django.contrib.auth’, ‘django.contrib.conten…

    Django 2023年4月12日
    00
  • Django中几种重定向方法

    在Django中,重定向是一个非常常见的操作。下面我们将详细讲述Django中几种重定向方法。 使用HttpResponseRedirect HttpResponseRedirect可以让我们快速的完成重定向操作。它的使用非常简单,下面是一个例子: from django.http import HttpResponseRedirect def redire…

    Django 2023年5月16日
    00
  • django框架之drf:2、restful规范,序列、反序列化,drf安装及使用(django原生接口及drf接口编写)

    Django之drf 一、restful规范 1、概念 ​ REST全称是Representational State Transfer,中文意思是表述:表征性状态转移,它首次出现在2000年Roy Fielding的博士论文中。 ​ RESTful是一种定义Web API接口的设计风格,尤其适用于前后端分离的应用模式中 2、REST的十个规范 数据的安全保…

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