Django对数据库进行添加与更新的例子

yizhihongxing

以下是Django对数据库进行添加和更新的例子:

添加数据到数据库

1. 创建模型

在 Django 中创建数据模型是一个关键的过程。它定义了数据的结构,就像数据库中的表格一样。为了创建一个模型,你需要在你的 Django 应用的 models.py 文件中定义一个 Python 类来表示你想存储的数据。下面是一个示例:

from django.db import models

class Person(models.Model):
    name = models.CharField(max_length=100)
    age = models.IntegerField()

在这个示例中,Person 模型有 name 和 age 两个属性。name 属性是 CharField 类型,它最多可以存储 100 个字符的字符串,age 属性是 IntegerField 类型,它可以存储一个整数。这里用到的 models 包是 Django 自带的,它提供了一个数据库 API,可以用 Python 代码来操作数据库。

我们需要将这个模型注册到数据库中:

from django.contrib import admin
from myapp.models import Person

admin.site.register(Person)

这里我们用 admin.site.register() 方法将 Person 模型注册到 Django 自带的管理界面中。

2. 迁移数据库

在我们创建好了模型之后,需要运行一个命令来迁移数据库,将模型映射到数据库中:

python manage.py makemigrations

这个命令会自动生成一组数据库的迁移脚本。这里我们假设你的应用名称是 myapp。如果一切顺利,你应该会看到一条输出信息:

Migrations for 'myapp':
  myapp/migrations/0001_initial.py
    - Create model Person

3. 应用迁移

运行下面的命令来应用迁移,将模型映射到数据库中:

python manage.py migrate

如果一切顺利,你应该会看到这样的输出信息:

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, myapp, sessions
Running migrations:
  Applying myapp.0001_initial... OK

现在我们的数据库中就有了一个名为 Person 的表格。

4. 向数据库中添加数据

现在我们已经准备好向数据库中添加一些数据了。我们可以像此这样来操作:

from myapp.models import Person

p = Person(name='Tom', age=20)
p.save()

这段代码中,我们首先导入了 Person 模型,然后实例化了一个 Person 对象,并且将其保存到数据库中。我们可以在对象的属性中设置值,然后调用 save() 方法来将其保存到数据库中。这里我们创建了一个 name 为 “Tom”、age 为 20 的 Person 对象,接着将其保存到数据库中。

如果你想把一组数据遍历添加到模型中,可以像下面这样操作:

from myapp.models import Person

persons = [
    {'name': 'Tom', 'age': 20},
    {'name': 'Jerry', 'age': 18},
    {'name': 'Mike', 'age': 25},
]

for person in persons:
    p = Person(name=person['name'], age=person['age'])
    p.save()

这里我们首先定义了一个包含三个 Person 对象的列表,然后遍历列表中的元素,将每个元素都实例化为 Person 对象,并将其保存到数据库中。当然,这里也可以使用批量插入的方式来优化性能。

更新数据库中的数据

在 Django 中,更新数据库中的数据也是很容易的。

首先,我们需要选中需要更新的数据条目,这可以用查询语句来完成:

person = Person.objects.get(name='Tom')

这里我们通过使用 filter() 方法来返回一个查询集,然后使用 get() 方法来选择我们想要更新的记录。这个方法返回一个 Person 对象,表示数据库中的匹配记录。这里我们选择了一个 name 属性等于 “Tom” 的 Person 对象。

接下来,我们可以更新这个对象的属性,然后调用 save() 方法来完成更新:

person.age = 21
person.save()

这里我们将 age 属性从 20 更新为 21。

除了直接修改对象的属性外,你也可以使用 update() 方法来批量更新多条记录:

Person.objects.filter(age__lt=20).update(age=20)

这个示例中,我们选择了 age 属性小于 20 的人,并将其 age 属性都更新为 20。

至此,我们完成了使用 Django 对数据库进行添加和更新的例子。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django对数据库进行添加与更新的例子 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • django中的字段类型

    from http://www.cnblogs.com/lhj588/archive/2012/05/24/2516040.html Django 通过 models 实现数据库的创建、修改、删除等操作,本文为模型中一般常用的类型的清单,便于查询和使用: AutoField:一个自动递增的整型字段,添加记录时它会自动增长。你通常不需要直接使用这个字段;如果你…

    Django 2023年4月10日
    00
  • django-beautifulsoup的简单使用

    一:介绍:简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下: ”’ Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。 它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。 ”’ 1,安装…

    Django 2023年4月12日
    00
  • Django聚合查询、分组查询、F与Q查询

    表查询 基于django settings源码实现自己的项目 配置文件的可插拔式设计 dir() importlib 反射 ​ 单表查询 只要是queryset对象 就可以无限制的点击queryset对象的方法 13条 1.all() # 查所有 2.filter() # 根据条件过滤 多个条件之间是and关系 3.get() # 直接获取数据对象 查询条件…

    Django 2023年4月11日
    00
  • python之django路由和视图案例教程

    下面是详细的“Python之Django路由和视图案例教程”的完整攻略及两条示例说明。 1. Django路由 Django路由定义了请求URL与视图函数之间的映射关系,是实现RESTful架构的重要组成部分。 1.1 url()函数 url()函数是Django用来声明URL映射关系的函数。它的原型是: url(regex, view, kwargs=No…

    Django 2023年5月16日
    00
  • Django基本操作命令

    1、新建一个django项目 django-admin.py startproject project-name   2、新建一个app python manage.py startapp app-name   3、同步数据库 python manage.py syncdb 注意:Django 1.7.1及以上的版本需要用以下命令python manage.…

    Django 2023年4月16日
    00
  • 杂记:Django和static,Nginx配置路径,json_schema

    前记:知识无处不在,要懂得珍惜,找到适合自己的方法高效地学习有价值的知识,不念过去,不畏将来。 Django对待静态资源,在非前后端分离时的常识 Django会对项目app下的static文件夹的静态资源进行收集,同名则按优先级指向,要自己加资源可以在settings.py的STATICFILES_DIRS进行额外指定,STATIC_URL=‘/static…

    Django 2023年4月10日
    00
  • django应用之corsheaders[跨域设置]

    安装 pip install django-cors-headers 注册应用 INSTALLED_APPS = ( … ‘corsheaders’, … ) 中间层设置 MIDDLEWARE = [ … ‘corsheaders.middleware.CorsMiddleware’, ‘django.middleware.common.Comm…

    Django 2023年4月12日
    00
  • python框架Django实战商城项目之工程搭建过程图文详解

    下面是详细讲解“Python框架Django实战商城项目之工程搭建过程图文详解”的完整攻略,包含两条示例说明。 概述 本攻略主要讲解如何使用Python框架Django实现商城网站的工程搭建过程,包括安装Django、创建项目、创建应用、配置数据库、创建模型、迁移数据库等步骤。通过这个过程,你可以了解到Django的基本框架、MVC架构、ORM和数据库等相关…

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