Django 在终端中使用 Python SQLite
在本文中,我们将介绍如何在 Django 框架中使用 Python SQLite 数据库。Django 是一个开发 Web 应用程序的高级 Python 框架,而 SQLite 则是一种轻量级的嵌入式数据库管理系统。Django 提供了内置的数据库 ORM(对象关系映射)工具,使我们能够轻松地与数据库进行交互。
阅读更多:Django 教程
配置 Django 项目中的 SQLite 数据库
在 Django 项目中使用 SQLite 数据库非常简单。首先,我们需要在项目的 settings.py 文件中进行配置。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'path/to/db.sqlite3',
}
}
上述代码片段中,我们使用了 Django 内置的 SQLite 数据库后端引擎 'django.db.backends.sqlite3',并指定了数据库文件的路径('NAME': 'path/to/db.sqlite3')。你可以根据自己的需要修改数据库文件的路径和名称。
使用 Django ORM 进行数据库操作
在配置好数据库后,我们可以使用 Django 的 ORM 工具进行数据库操作。下面是一些常见的示例代码。
创建数据库表
我们可以使用 Django 的模型(Model)来定义数据库表的结构。以下是一个示例模型类,用于创建一个名为 User 的表。
from django.db import models
class User(models.Model):
name = models.CharField(max_length=100)
email = models.EmailField()
上述代码片段中,我们使用了 Django 的模型基类 models.Model 来定义了一个名为 User 的模型类。模型类中的每个字段(Field)都对应着数据库表中的一列,如上述的 name 和 email 字段。
查询数据
使用 Django 的 ORM,我们可以轻松地执行各种数据库查询操作。以下是一些查询的示例代码。
查询所有数据
users = User.objects.all()
上述代码片段中,我们使用了 User.objects.all() 查询了 User 表中的所有数据,并将结果保存在 users 变量中。
过滤数据
john = User.objects.get(name='John')
上述代码片段中,我们使用了 User.objects.get(name='John') 查询了 User 表中名为 ‘John’ 的数据,并将结果保存在 john 变量中。
更新数据
user = User.objects.get(name='John')
user.email = 'john@example.com'
user.save()
上述代码片段中,我们首先使用 User.objects.get(name='John') 查询到了名为 ‘John’ 的数据,然后更新了 email 字段的值,并调用了 save() 方法将更改保存到数据库中。
删除数据
user = User.objects.get(name='John')
user.delete()
上述代码片段中,我们使用了 User.objects.get(name='John') 查询到了名为 ‘John’ 的数据,并调用了 delete() 方法将其从数据库中删除。
执行数据库迁移
在定义了数据库模型后,我们需要执行数据库迁移操作,以创建相应的表格。Django 提供了用于执行数据库迁移的命令行工具。我们可以在终端中执行以下命令进行数据库迁移:
python manage.py makemigrations
python manage.py migrate
上述命令中,makemigrations 命令会根据模型的变更生成迁移文件,而 migrate 命令则会将迁移文件中的更改应用到数据库。
使用 Django shell
Django 提供了一个交互式的 Python shell,称为 Django shell,我们可以在其中执行 Python 代码,并与数据库进行交互。我们可以通过以下命令启动 Django shell:
python manage.py shell
启动成功后,我们可以在 Django shell 中执行各种数据库操作。
创建数据
from myapp.models import User
user = User(name='John', email='john@example.com')
user.save()
上述代码片段中,我们首先导入了模型类 User,然后创建了一个名为 ‘John’ 的用户,并将其保存到数据库中。
查询数据
from myapp.models import User
users = User.objects.all()
for user in users:
print(user.name, user.email)
上述代码片段中,我们首先导入了模型类 User,然后使用 User.objects.all() 查询了 User 表中的所有数据,并遍历打印了每个用户的姓名和邮箱。
总结
本文介绍了如何在 Django 框架中使用 Python SQLite 数据库。我们首先在 Django 项目的 settings.py 文件中配置了 SQLite 数据库,然后使用 Django ORM 进行了数据库操作,包括创建表、查询数据、更新数据和删除数据。接着,我们学习了如何执行数据库迁移操作,并使用 Django shell 在终端中与数据库进行交互。希望本文对你理解 Django 中的 SQLite 数据库的使用有所帮助。
极客教程