📅  最后修改于: 2023-12-03 15:00:26.755000             🧑  作者: Mango
Django 是一个使用 Python 编写的 Web 应用程序框架,其内置的默认数据库是 SQLite。SQLite 是一种轻量级的关系型数据库管理系统,非常适合小型应用程序或原型开发。
在 Django 中使用 SQLite 数据库非常方便,可以通过 Django ORM (Object-Relational Mapping)来进行数据库操作,也可以直接使用 SQL 语句来进行操作。
Django 的默认数据库配置是在 settings.py 文件中进行的,可以通过以下代码来连接数据库:
# settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
其中,ENGINE
指定数据库类型,NAME
指定数据库文件路径。
在 Django 中,每个 Model 对应数据库中的一个表。可以通过在 models.py 文件中定义 Model 类来创建数据库表:
# models.py
from django.db import models
class MyModel(models.Model):
name = models.CharField(max_length=50)
age = models.IntegerField()
email = models.EmailField()
def __str__(self):
return self.name
这个 Model 定义了一个名为 MyModel 的表,包含字段 name(最大长度为 50)、age(整数类型)和 email(Email 类型)。
使用 Django ORM 插入数据非常简单,可以通过以下代码来插入一个 MyModel 实例:
from myapp.models import MyModel
obj = MyModel(name='Tom', age=20, email='tom@example.com')
obj.save()
使用 Django ORM 查询数据也非常简单,可以通过以下代码来查询 MyModel 中所有数据:
from myapp.models import MyModel
queryset = MyModel.objects.all()
for obj in queryset:
print(obj.name, obj.age, obj.email)
使用 Django ORM 更新数据也非常简单,可以通过以下代码来更新一个 MyModel 实例:
from myapp.models import MyModel
obj = MyModel.objects.get(name='Tom')
obj.age = 30
obj.save()
使用 Django ORM 删除数据也非常简单,可以通过以下代码来删除一个 MyModel 实例:
from myapp.models import MyModel
obj = MyModel.objects.get(name='Tom')
obj.delete()
除了使用 Django ORM 进行数据库操作外,还可以使用 SQL 语句进行操作。可以通过以下代码来执行 SQL 语句:
from django.db import connection
with connection.cursor() as cursor:
cursor.execute('SELECT * FROM myapp_mymodel;')
rows = cursor.fetchall()
for row in rows:
print(row)
其中,connection.cursor()
返回一个游标对象,可以通过 execute()
方法执行 SQL 语句,fetchall()
方法获取所有的查询结果。可以根据需求替换 SQL 语句来进行数据操作。
Django 提供了方便的 ORM 工具和基于 SQL 语句的数据库操作方式,使得开发者可以更加方便地对 SQLite 数据库进行操作。无论是使用 Django ORM 还是 SQL 语句,都可以轻松地进行 CRUD 操作。