增删改查
增 User.objects.create(name=,id=)
user=User(name=,id=)
user.save()
删除
User.objects.filter(name='').delete()
user=User.objects.filter(name='').first()或者[0]
user.delete()
改
User.objects.filter(name='').update(pwd='')
user=User.objects.filter(name=")
for i in user:
i.pwd=''
i.save()
查
user=User.objects.filter(name='')[0]
user=User.objects.get(name='')多个或者为0个就报错
单表操作函数 都是操作的列表对象不是对象
all() first() last() filter()get()
1.ordey_by() 排序函数 ‘name’正序 ‘-name’倒序
2.reverse()反转排序后的查询结果 与-效果一样
3.count()查询后的列表内数目
4.exists( ) 布尔类型 是否存在
5.values()用字符串格式填写查询需要的字段,返回的列表里面每一项是字典
6.values_list()用字符串格式填写查询需要的字段,返回的列表里面每一项是元祖
7.distinct()去重用于values()后因为只有部分相同的两个数据
模糊查询
1.针对字段整形的操作
filter(age_gt=)大于
age_get=大于等于
age_lt=小于
age_let=小于等于
age_in=[1,2,3]在列表里
age_range=[1,4]1~4
age_exact= 与age=相同
age_isnull =0空的话 不为空返回
2.字符串类型相关
name_endswith= '' 后方模糊匹配 在条件前加上i是不区分大小写
name_startswith='' 前方模糊匹配
name_contain=‘’ 前或者后进行匹配即可
name_regex='' 正则匹配
3.时间类型
entry_time_day=1
entry_time_month=3
F查询
基于查询后计算
from django.db.models import F, Q
User.objects.filter(id=1).update(age=F('age')+1)
# 案例二:查询id是年龄1/4的结果
user = User.objects.filter(id=F('age')/4)
Q查询
基于逻辑
| & ~
# 与
User.objects.filter(Q(id=1) & Q(age=10)) # id=1 并且 age=10
# 或
User.objects.filter(Q(id=1) | Q(id=2)) # id=1 或 id=2
# 非
User.objects.filter(~Q(id=1)) # id 不为 1
urls
from django.views.generic import RedirectView
url(r'^favicon.ico/$',RedirectView.as_view(url=r'/static/app/favicon.ico')),ico格式