Django 迁移、操作数据库的方法

Django是一款非常强大的Web框架,它默认使用的是ORM工具,通过定义model来完成数据库的操作。在Django中,使用迁移的方式来完成数据库的初始化、升级等操作。

以下是针对Django迁移和操作数据库的完整攻略。

一、迁移

1.1 数据库初始化

在开始使用Django进行数据库操作之前,需要先进行数据库的初始化。这里我们默认使用SQLite3作为数据库。

在Django项目目录下,打开settings.py文件,找到DATABASES并进行如下配置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

然后在命令行中进入项目根目录,输入如下命令:

python manage.py migrate

这样就完成了数据库的初始化。

1.2 数据库升级

当你添加新的model或对已有的model进行修改时,需要对数据库进行升级。Django提供了自动化的迁移工具,可以让你非常方便快捷地完成数据库的升级。

1.2.1 创建迁移文件

在你的model发生变化后,需要执行以下命令来创建一个新的迁移文件:

python manage.py makemigrations

这个命令将会自动检测您的model的变化,并创建一个新的迁移文件存放在migrations文件夹中。

1.2.2 执行迁移

迁移文件已经创建好后,就可以执行下面的命令来将这些更改应用到数据库中:

python manage.py migrate

Django会根据迁移文件的信息来完成数据库升级。如果出现问题,将会抛出异常,需要根据异常提示进行修复。

二、操作数据库的方法

下面,我们来讲解一下如何在Django中进行数据库的操作。

2.1 创建model

models.py中定义model:

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=200)
    author = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

这个模型定义了一本书的基本信息:书名、作者、出版日期。

2.2 数据库CRUD

2.2.1 创建记录

创建记录的方式非常简单,直接使用model类的构造函数即可:

book = Book(title='Python入门', author='张三', pub_date='2019-01-01')
book.save()

2.2.2 读取记录

读取一条记录:

book = Book.objects.get(pk=1)

查询多条记录:

books = Book.objects.filter(pub_date__year=2019)

2.2.3 更新记录

查询到要修改的记录,直接修改属性并保存即可:

book = Book.objects.get(pk=1)
book.author = '李四'
book.save()

2.2.4 删除记录

查询到要删除的记录,调用delete方法即可:

book = Book.objects.get(pk=1)
book.delete()

到这里,我们已经完整地讲解了Django迁移和数据库操作的方法。如果你按照以上步骤进行安装和操作,就可以非常方便地使用Django进行数据库操作了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django 迁移、操作数据库的方法 - Python技术站

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

相关文章

  • Python – Django – ORM 自定义 char 类型字段

    用 CharField 定义的字段在数据库中存放为 verchar 类型 自定义 char 类型字段需要下面的代码: class FixedCharField(models.Field): “”” 自定义的 char 类型的字段类 “”” def __init__(self, max_length, *args, **kwargs): self.max_le…

    Django 2023年4月10日
    00
  • Django 2.0版本的新特性抢先看!

    Django 2.0版本的新特性抢先看! Django 2.0版本已经正式推出,本文将为大家介绍其中的一些新特性和优化,以及如何在项目中应用。 引入Python 3.4以上版本的支持 Django 2.0开始将不再支持Python 2.7版本,而是引入Python 3.4及以上版本的支持,这意味着应用Django 2.0版本的项目,需要将Python版本升级…

    Django 2023年5月16日
    00
  • django向数据库添加数据

    url.py        views.py    host.html (样式)  (展示部分)   (添加信息界面) (js部分)     展示添加数据:    

    Django 2023年4月12日
    00
  • Django框架之drf:7、认证组件,权限组件,频率组件,过滤的多种用法,排序,分页,

    Django框架之drf 一、认证组件 简介: ​ 登录认证的限制 ​ 认证组件是drf框架给我们提供的认证接口,它能够在请求进入视图函数/类前进验证(例如:认证用户是否登录),对不符合认证的请求进行拦截并返回校验失败的信息 1、认证组件使用步骤 模块地址: from rest_framework.authentication import BaseAuth…

    2023年4月10日
    00
  • 文成小盆友python-num17 - django基础

    一、首先了解web应用的本质 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端。 下面利用socket实现一个简单的web框架: #!/usr/bin/env python #coding:utf-8 import socket def handle_request(client): buf = clie…

    2023年4月9日
    00
  • vue前端与django后端数据交互

    //把数据传到路径为/airCdt/的django后端函数进行数据处理 onSubmit(){ const dict={ ‘floor’: this.formLabelAlign.floor, ‘room’: this.formLabelAlign.room, ‘status’: this.formLabelAlign.status, ‘mode’: thi…

    Django 2023年4月12日
    00
  • pycharm 中 django 导入静态文件不提示补全

      File—》setting—–》Languages & Frameworks ——> Python Template  Languages ——>Template language 选中Django 然后保存        

    Django 2023年4月11日
    00
  • Django项目实战之配置文件详解

    我可以为您讲解一下“Django项目实战之配置文件详解”的攻略。 什么是配置文件? Django是一种MVC(Model-View-Controller)框架,它的配置文件告诉Django如何应用程序构建。一个基本的Django项目包含两个配置文件: settings.py:定义了项目需要的所有设置,包括调试模式、数据库、模板、静态文件、中间件、应用程序、语…

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