Django框架的Object-Relational Mapping (ORM) 是一种强大的工具,它简化了在数据库中进行操作的过程,无需直接编写SQL语句。本文深入剖析了Django ORM的基本数据库操作,包括增、删、改、查(CRUD)四个核心概念。
首先,让我们从增加数据开始。在Django中,有两种常见的方法来插入新记录:
1. 使用`save()`方法:
创建一个新的对象,如:
```python
book = BookInfo(
name='python入门',
pub_date='2010-1-1'
)
book.save() # 将对象保存到数据库
```
通过这种方式,对象会自动关联到数据库中的相应表。另一个选项是使用`objects.create()`方法,例如:
```python
PeopleInfo.objects.create(
name='itheima',
book=book
)
```
这将直接在数据库中创建一个新记录,并关联指定的模型实例。
删除数据有两种方式:
1. 对象级别的删除:
```python
person = PeopleInfo.objects.get(name='传智播客')
person.delete() # 删除匹配条件的单个对象
```
这将根据提供的条件从数据库中删除对象。如果有多条记录符合条件,`delete()`方法会返回被删除的对象数量。
2. 集合级别的删除:
```python
BookInfo.objects.filter(name='python入门').delete() # 删除满足条件的所有对象
```
这个方法会批量删除所有符合条件的`BookInfo`记录,并返回被删除的总行数。
修改数据时,你可以选择更新单个对象或整个集合:
1. 更新单个对象:
```python
person = PeopleInfo.objects.get(name='itheima')
person.name = 'itcast'
person.save()
```
这样,指定对象的属性会被更新并保存到数据库。
2. 更新多个对象的属性:
```python
PeopleInfo.objects.filter(name='itheima').update(name='new_name') # 更新所有匹配条件的name属性
```
此操作返回受影响的行数。
总结来说,Django ORM提供了简洁的接口,让开发者能够高效地处理数据库操作,而无需关注底层的SQL语句。理解并熟练运用这些基本操作是构建高效Django应用的关键。通过实例演练和不断实践,你可以逐步掌握Django ORM的强大功能。