Django ORM教程:数据库增删改查操作

0 下载量 43 浏览量 更新于2024-08-30 收藏 58KB PDF 举报
"这篇文档主要介绍了Django框架中的ORM(对象关系映射)操作,包括如何使用ORM进行数据库的增删改查,以及如何设计模型和执行数据库迁移。" Django是一个基于Python的Web开发框架,它内置了ORM机制,使得开发者可以通过Python代码直接操作数据库,而无需编写SQL语句。ORM将数据库操作与业务逻辑紧密结合,提高了开发效率和代码的可读性。 在Django中,ORM的工作原理是这样的:首先,我们定义一个Python类来代表数据库中的一个表,类的属性则对应表中的字段。例如,在模型文件`models.py`中创建一个`Book`类,包含`name`、`price`、`Date`和`auth`、`publish`等字段,这些字段都继承自`models.Model`: ```python from django.db import models class Book(models.Model): name = models.CharField(max_length=32) price = models.IntegerField() Date = models.DateField() auth = models.CharField(max_length=32) publish = models.CharField(max_length=32) ``` 这里的`CharField`和`IntegerField`等是Django提供的字段类型,它们对应SQL中的数据类型。 当模型定义完成后,我们需要通过命令行工具进行数据库迁移,这包括两步: 1. `python manage.py makemigrations`: 这个命令会检查模型文件的变化,并生成对应的数据库迁移文件。 2. `python manage.py migrate`: 执行这个命令,系统会应用迁移文件,实际地更新数据库结构。 Django的设置文件`settings.py`中,默认使用SQLite3作为数据库引擎,如: ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } ``` `BASE_DIR`是项目根目录,这里指定了数据库文件的路径。 在完成数据库模型和迁移之后,可以使用Django提供的管理接口或自定义视图进行数据的增删改查操作。例如,创建一个新的书籍记录可以通过创建`Book`类的实例并调用`save()`方法实现: ```python book = Book(name='书名', price=123, Date='2022-01-01', auth='作者', publish='出版社') book.save() ``` 同时,`Book`类还可以提供查询方法,如`get()`、`filter()`等,用于检索数据库中的记录。 在前端展示方面,Django提供了模板系统,可以在HTML模板文件(如`index.html`)中使用模板语言来展示数据。例如,使用`loadstaticfiles`加载静态文件,并通过Django模板语言获取并显示书籍信息。 ```html {% load staticfiles %} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="{% static '/bootstrap-3.3.7/dist/css/bootstrap.css' %}"> <!-- ... --> </head> <body> <!-- 在这里展示书籍数据 --> </body> </html> ``` 总结来说,Django的ORM允许开发者用Python代码代替SQL进行数据库操作,简化了开发流程,提高了开发效率。通过定义模型,执行数据库迁移,以及使用模板系统,可以方便地实现Web应用的数据管理与展示。