00003)django的数据库操作
### 数据库操作
- 增加操作
from blog.models import Blog
b = Blog(name='Beatles Blog', tagline='All the latest Beatles news.')
b.save()
基本查询操作
get用法
```python
BookInfo.objects.get(id=3)
- #### all用法
```python
BookInfo.objects.all()
<QuerySet [<BookInfo: 射雕英雄传>, <BookInfo: 天龙八部>, <BookInfo: 笑傲江湖>, <BookInfo: 雪山飞狐>, <BookInfo: 西游记>]>
count用法
```python
BookInfo.objects.count()
------------
- **过滤查询**
> 基本语法:# 属性名称和比较运算符间使用两个下划线,所以属性名不能包括多个下划线
- **相等**
- ```python
BookInfo.objects.filter(id__exact=3)
- 模糊查询
- ```python
BookInfo.objects.filter(btitle__contains='游')
- **模糊查询**
- ```python
BookInfo.objects.filter(btitle__contains='游')
** Q对象 **
Q对象可以使用&、|连接,&表示逻辑与,|表示逻辑或。
- 例:查询阅读量大于20,或编号小于3的图书,只能使用Q对象实现
- ```
BookInfo.objects.filter(Q(bread__gt=20) | Q(pk__lt=3))
- ```
- Q对象前可以使用~操作符,表示非not。
例:查询编号不等于3的图书。
- ```
BookInfo.objects.filter(~Q(pk=3))