django中的数据操作

django对数据库的操作分为增删改查:

增操作的操作方式

# 方式一
car = Car(name="宝马3",price=20.5)
car.save()

# 方式二

car = Car()
car.name="宝马5i"
car.price=50.5
car.save()

# 方法三

Car.objects.create(name='奥迪Q1',price=34.5)
car={"name":"奥迪q5","price":100}
Car.objects.create(**car)

删除操作

使用delete() 基于查询, 先查取出来,再执行删除 
User.objects.get(id=1).delete()

修改操作

# 修改使用save() 基于查询,先查询出来,再去修改,存储
user=User.objects.get(id=id)
user.name='aimashi'
user.save()
# 也可以使用 filter(xxx=). update(xxx=)
User.objects.filter(id=1).update(name='aimashi')

查询操作

'''

过滤器:

filter()  选出符合条件的数据    exclude()  去掉符合条件的数据

过滤器可以连续使用,链式调用

'''

'''

语法:属性名__运算符=临界值

gt  大于

lt  小于

gte  大于等于

lte  小于等于

exact()  精确内容查找,区分大小写

iexact()  i表示ignore,即忽略大小写

contains()  内容包含  如Car.objects.filter(name__contains='奔')

startswith  以什么字符开始

endswith  以什么字符结束

istartswith  以什么字符开始,忽略大小写

isendswith   以什么字符结束,忽略大小写

icontains  包含什么字符,忽略大小写

in   包含值项 ,如Car.objects.filter(price__in=(30.58,26.65))

isnull  是null

isnotnull  非null

时间过滤:   属性名__时间__操作符=值

时间包含:year、month、day、hour、minute、second

'''

获取对象:

1) 集合对象 QuerySet

    filter()   返回符合条件的数据

    exclude()   过滤掉符合条件的数据

    all()   返回所有数据

2)  单个对象

 get()  要求条件对应的数据有且只有一个,如果没有找到符合条件的对象,会引发 模型类.DoesNotExist异常

    如果找到多个,会引发  模型类.MultiObjectsReturned 异常

 last()   返回查询集中的最后一个对象

 first()  返回查询集中的第一个对象

3)其他方法

count()  返回当前查询集中的对象个数

exists()  判断查询集中是否有数据,如果有数据返回True没有反之

values()  一条数据就是一个字典,返回一个列表

order_by()  排序,如果字符串不包含'-'号,则表示从小到大排序,如果参数字符串包含'-'号,则表示从大到小排序

 

级联查询:类名.objects.filter(级联类名小写__属性=值)

详情见https://blog.csdn.net/u013210620/article/details/79142376#%E4%B8%80%E5%AF%B9%E5%A4%9A%E6%93%8D%E4%BD%9C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值