Django orm 操作
#增
import datetime ctime = datetime.datetime . now() user_ obj = models.User(name= 'egon ' wage=84uregister_time=ctime ) user_ obj . save()
res =modeLs.User.objects.create(name= 'jason ' , age=18,register_ :time= ' 2002-1-21' )
删
user_ obj = models.User . objects. filter(pk=1). first()
user_obj.delete() #单个删
user_obj.name = 'xxx'
user_obj.save()
user_ obj = models.User . objects. filter(pk=1). delete() #返回受影响的行数
user_ obj = models.User . objects. filter(pk=1). update(‘更新的字段’) #返回受影响的行数
1.all()
2. filter()
3.get()
4. first()
5.Last() #最后
6. values() #指定获取数据字段
7.values. _list( ) #[(),()]
8. distinct() #去重
9.order_ by() #排序 加问号是随机
10. reverse () #排序之后反转
11. count()#统计数据个数
12.exclude( ) #把什么对象排除在外
13.exists( )# 以对象判断存不存在
打印orm 对应sql语句 主配置文件 查看单个 对象.query
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console':{ 'level':'DEBUG', 'class':'logging.StreamHandler', }, }, 'loggers': { 'django.db.backends': { 'handlers': ['console'], 'propagate': True, 'level':'DEBUG', }, } }
filter(字段__gt=) filter(字段__gte=) filter(字段__lt=) filter(字段__lte=) filter(字段__in=) filter(字段__range=[1,2]) #首位都有 filter(字段__contains='n') #查询字段包含n的 filter(字段__icontains='n') #查询字段包含n的 忽略大小写 filter(字段__startswith='n') #查询字段以n开头 filter(字段__endswith='n') #查询字段以n结尾 filter(字段__month='n') #查询时间字段以月
only和defer defer('id','name) 除了id 和name字段其他都有 only('id',''name')只有id name 字段