Django查询数据库方法get和filter的区别
2017-09-24 20:09
543 查看
用get方法查询的时候,查询不到内容的时候会抛出异常,同样查询结果多余1条的时候也会抛出异常
Exp:fresh.models.DoesNotExist: Cart matching query does not exist.
filer若是查询不到数据,会返回一个空的查询集,[] type类型是:Queryset。查询到多余一条的时候会返回一个包含多个对象的查询集。
因此可以用filter来判断数据库中是否存在某条记录:
从Cart表查询,如果不存在这条记录,则返回[ ],所以len(cart)=0,因此如果len(cart)>0,说明记录存在
Exp:fresh.models.DoesNotExist: Cart matching query does not exist.
filer若是查询不到数据,会返回一个空的查询集,[] type类型是:Queryset。查询到多余一条的时候会返回一个包含多个对象的查询集。
因此可以用filter来判断数据库中是否存在某条记录:
cart = Cart.objects.filter(user=user, goods=good) if len(cart)>0: cart[0].number = cart[0].number+int(amount) cart[0].save() else: newCart = Cart() newCart.user=user newCart.goods=good newCart.number=int(amount) newCart.save()
从Cart表查询,如果不存在这条记录,则返回[ ],所以len(cart)=0,因此如果len(cart)>0,说明记录存在
相关文章推荐
- 浅谈django model的get和filter方法的区别(必看篇)
- django model的get和filter方法的区别
- python 点滴记录7:django数据库操作中的filter和get方法
- django model的get和filter方法的区别
- django的get和filter方法的区别
- django学习——model中的get和filter方法的区别
- django model的get和filter方法的区别
- django model的get和filter方法的区别
- django model中get()和filter()方法的区别
- django model的get和filter方法的区别
- 老王python:django model的get和filter方法的区别
- Django objects.all()、objects.get()与objects.filter()区别
- python django 数据库查询方法总结
- laravel在数据库用get()方法查询,结果不为null
- 在Django的视图中使用数据库查询的方法
- python django 数据库查询方法总结
- Django objects.all()、objects.get()与objects.filter()之间的区别介绍
- Django关于filter和get()方法
- python-django 数据库查询方法总结
- Django objects.all() ,objects.get() ,objects.filter()之间的区别