“本文详细介绍了如何在Django框架中使用ORM(对象关系映射)进行数据库操作,包括增加、删除、修改和查询等基本操作。通过具体的代码实例,展示了如何操作BookInfo和PeopleInfo两个测试数据表。”
在Django框架中,ORM是一种强大的工具,它允许开发者使用Python对象来操作数据库,而无需直接编写SQL语句。以下是对标题和描述中所述知识点的详细解释:
1. 增加
Django提供了两种主要方法来向数据库添加新记录:
- save() 方法:首先创建一个模型类的对象,设置好各个字段的值,然后调用`save()`方法保存到数据库。例如,创建一个新的BookInfo对象:
```python
book = BookInfo(
name='python入门',
pub_date='2010-1-1'
)
book.save()
```
- create() 方法:模型类的`.objects.create()`可以直接接收字段值,简化了创建对象的步骤,如创建PeopleInfo对象:
```python
PeopleInfo.objects.create(
name='itheima',
book=book
)
```
2. 删除
Django提供了多种删除记录的方式:
- delete() 方法:可以直接对获取的模型对象调用`delete()`方法删除。例如:
```python
person = PeopleInfo.objects.get(name='传智播客')
person.delete()
```
或者批量删除满足条件的记录:
```python
BookInfo.objects.filter(name='python入门').delete()
```
3. 修改
- save() 方法:获取需要修改的对象,更改字段值后,再次调用`save()`。比如:
```python
person = PeopleInfo.objects.get(name='itheima')
person.name = 'itcast'
person.save()
```
- update() 方法:针对满足条件的多条记录,可以使用`.objects.filter().update()`批量更新,返回更新的记录数:
```python
PeopleInfo.objects.filter(name='itcast').update(name='传智播客')
```
4. 查询
Django的ORM提供了丰富的查询功能:
- 基本查询:使用`.filter()`或`.get()`方法获取数据,例如:
```python
# 获取所有BookInfo
books = BookInfo.objects.all()
# 根据条件获取单个对象
person = PeopleInfo.objects.get(name='itheima')
# 根据条件获取多个对象
people = PeopleInfo.objects.filter(name__contains='传')
```
此外,还有更复杂的查询方式,如`exclude()`(排除条件)、`annotate()`(聚合函数)、`order_by()`(排序)和`values()`(返回字典列表)等。
Django的ORM使得数据库操作变得简单易懂,开发者可以专注于业务逻辑,而无需过多关注底层数据库细节。通过这些基本操作,你可以轻松地构建复杂的数据处理逻辑。