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 字段

  

 

 

posted @ 2021-07-29 16:23  沈渃溪  阅读(35)  评论(0)    收藏  举报