当前位置:首页 > 行业动态 > 正文

Django自带的数据库功能是否足以满足所有开发需求?

Django 自带 SQLite 数据库,配置简单、无需额外安装、开箱即用,适合小型项目和开发阶段使用。

Django 自带的数据库是 SQLite,它是一种轻量级的嵌入式关系型数据库,以文件形式存储在本地计算机上,无需单独的服务器进程或配置,以下是详细介绍:

Django自带的数据库功能是否足以满足所有开发需求?  第1张

配置与使用

安装 Django:可以使用pip install django 命令进行安装。

创建项目:通过django-admin startproject myproject 命令创建新项目,此时会在项目中自动配置好 SQLite 数据库,其配置文件位于myproject/settings.py 中,默认配置如下 :

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / "db.sqlite3",
    }
}

创建应用并迁移数据:在项目中创建一个应用程序后,需要在myproject/settings.py 中的INSTALLED_APPS 列表里添加新创建的应用,然后运行python manage.py makemigrations 生成迁移文件,再运行python manage.py migrate 将迁移文件应用到数据库,从而在数据库中创建相应的表。

操作数据库

创建数据:在 Django 的交互式 shell 中,可以通过模型类的.create() 方法创建数据,定义一个 Book 模型类后,可使用以下代码创建一个新的 Book 对象 :

from myapp.models import Book
book = Book(title='Django for Beginners', author='William S. Vincent', published_date='2021-01-01')
book.save()

查询数据:使用 Django ORM 提供的查询方法,如all()、filter()、get() 等来查询数据,查询所有的 Book 对象可使用Book.objects.all()。

更新数据:先通过查询方法获取要更新的对象,然后修改其属性值,最后调用.save() 方法保存修改,将 id 为 1 的 Book 对象的标题更新为 “Advanced Django” 可使用以下代码 :

book = Book.objects.get(id=1)
book.title = 'Advanced Django'
book.save()

删除数据:同样先查询到要删除的对象,然后调用.delete() 方法删除,删除 id 为 1 的 Book 对象可使用以下代码 :

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

管理数据库

查看数据库内容:可以使用 Django 自带的管理工具django-admin dbshell 打开 SQLite 数据库的交互式 shell,在其中执行 SQL 查询命令查看特定表的数据;也可以使用 SQLite 专用浏览器,如 DB Browser for SQLite,它提供了图形用户界面,方便直观地查看和编辑数据库;还可以使用命令行工具sqlite3,直接在命令行中输入sqlite3 db.sqlite3 启动 SQLite 命令行工具并打开数据库文件,然后执行 SQL 查询命令。

后台管理:Django 提供了一个强大的后台管理界面,通过在 admin.py 文件中注册模型类,就可以在后台管理界面中对模型进行查看、添加、编辑和删除等操作。

FAQs

Q:Django 自带的数据库可以更换吗?

**A:可以,Django 支持多种数据库,如 MySQL、PostgreSQL 和 Oracle 等,可以通过修改 Django 配置文件中的 DATABASES 设置来使用其他数据库引擎,并在 Django 的配置文件中进行相应的设置。

0