Django ORM操作数据库:创建、增删改查与查询筛选实战

0 下载量 42 浏览量 更新于2024-08-31 收藏 86KB PDF 举报
"本文将详细介绍如何在Django中使用ORM进行数据库操作,包括表的创建、数据的增删改查以及常用的查询筛选方法。通过学习,你可以掌握Django ORM的基本用法,提升开发效率。" 在Django中,ORM(Object-Relational Mapping)是一种强大的工具,它允许开发者使用Python对象来操作数据库,而无需直接编写SQL语句。这种抽象层使得数据库操作更加简洁和直观。首先,我们需要创建一个Django项目和应用,这是使用ORM的基础。 1. 创建Django项目 使用`django-admin startproject`命令创建项目,例如`django-admin startproject orm_test`,然后进入项目目录并启动开发服务器,命令是`python manage.py runserver`。这将在默认浏览器中显示项目启动成功的信息。 2. 创建应用 在项目中添加应用,如`django-admin startapp cmdb`,接着需要在`settings.py`的`INSTALLED_APPS`列表中添加新创建的应用。 3. 配置数据库 Django默认使用SQLite数据库,但我们可以根据需要更改。在`settings.py`的`DATABASES`配置中,指定为MySQL,并提供相应的数据库名称、用户名、密码和主机信息。 4. 定义模型(ORM表) 在应用的`models.py`文件中定义模型,这对应于数据库中的表。例如,我们可以创建一个简单的`User`模型: ```python from django.db import models class User(models.Model): username = models.CharField(max_length=20) email = models.EmailField() created_at = models.DateTimeField(auto_now_add=True) ``` 5. 数据迁移 定义好模型后,需要通过数据迁移将模型同步到数据库。运行`python manage.py makemigrations`创建迁移文件,然后执行`python manage.py migrate`来应用这些迁移。 6. 插入数据(增) 通过模型类实例化对象并保存,实现数据插入: ```python user = User(username='test_user', email='test@example.com') user.save() ``` 7. 查询数据(查) Django ORM提供了丰富的查询API,例如: ```python # 获取所有用户 users = User.objects.all() # 根据用户名查询 specific_user = User.objects.get(username='test_user') # 根据条件筛选 users_with_email = User.objects.filter(email__contains='example.com') # 分页查询 users_page_1 = User.objects.all()[0:10] # 获取前10个用户 ``` 8. 更新数据(改) 直接通过对象调用`update`方法或者修改属性后保存: ```python # 更新特定用户 specific_user.email = 'new_email@example.com' specific_user.save() # 批量更新 User.objects.filter(email__contains='example.com').update(email='new@example.com') ``` 9. 删除数据(删) 使用`delete`方法删除对象: ```python # 删除单个对象 specific_user.delete() # 删除满足条件的所有对象 User.objects.filter(email__contains='example.com').delete() ``` 总结,Django的ORM允许我们用Python代码来处理数据库操作,简化了传统SQL的复杂性,提高了开发效率。理解并熟练使用ORM,是Django开发中的必备技能。通过模型定义、数据迁移、以及增删改查操作,我们可以高效地管理数据库中的数据。同时,Django还提供了更高级的查询选项,如JOIN、聚合函数等,满足更复杂的查询需求。