执行查询
基础查询
get查询单一结果,如果不存在会抛出
模型类.DoesNotExist
异常。all查询多个结果。
count查询结果数量。
obj = Person.objects.get(id=2) print(obj) obj = Person.objects.get(pk=3) print(obj) obj = Person.objects.all() print(obj) num = Person.objects.count() print(num)
过滤查询
实现SQL中的where功能,包括: - filter过滤出多个结果。 - exclude排除掉符合条件剩下的结果。 - get过滤单一结果。
对于过滤条件的使用,上述三个方法相同,故仅以filter进行示例。
过滤条件的语法:
属性名称__比较运算符=值
例如:
obj = Person.objects.filter(id__exact=2) # exact:表示判等
print(obj)
obj = Person.objects.filter(name__contains='user') # contains:是否包含
print(obj)
obj = Person.objects.filter(id__gt=1) # 查询id大于3的用户
print(obj)
obj = Person.objects.filter(birthday__year=2001) # 查询2001年出生的用户
print(obj)