django之ORM QuerySet 总结

django之ORM QuerySet

django 文档

https://docs.djangoproject.com/en/2.2/releases/2.0/

参考:

django之ORM介绍与基本用法(一)
https://blog.csdn.net/kan2016/article/details/82855158
Django ORM之QuerySet
https://www.cnblogs.com/ajianbeyourself/p/3604332.html#_label1

ORM 全拼Object-Relation Mapping.

post = Post.objects.all()
print post
print 'type(post)', type(post)

<QuerySet [<Post: sdsf>, <Post: This is fourth post>, <Post: This is five post>, <Post: This is third post>, <Post: This is second post>, <Post: This is first post >]>


type(post) <class 'django.db.models.query.QuerySet'>

QuerySet是一个可遍历结构,包含一个或多个元素,每个元素都是一个Model 实例,它里面的方法也是表级方法

测试代码:

def test(request):

	post = Post.objects.all()
	print post
	print 'type(post)', type(post)
	for it in post :
		print it.title
		print it.body
		print it.slug

	post_a = Post.objects.get(slug='fourth-post')

	print post_a.title
	return HttpResponse('hello')

在这里插入图片描述
在这里插入图片描述

Django中,QuerySet和Object是两个不同的概念。 1. QuerySet QuerySetDjango中的一个概念,它表示数据库操作的结果集合。QuerySet可以像列表一样进行迭代、切片等操作,但是它并不是真正的列表。当你执行一个查询操作时,Django会返回一个QuerySet对象,这个对象包含了一些查询结果的方法。这些方法可以用来进行进一步的过滤、排序、切片等操作。QuerySet是惰性的,这意味着它只有在需要的时候才会执行查询,这有助于提高性能。 例如,以下代码创建了一个QuerySet对象,它包含了所有年龄大于18岁的用户: ``` from django.contrib.auth.models import User users = User.objects.filter(age__gt=18) ``` 2. Object Object指的是Django模型中的一个实例。一个模型是一个数据库表的抽象,它定义了表的结构和字段,每个实例则代表了表中的一行数据。你可以使用ORM API来创建、更新、删除和查询模型实例。 例如,以下代码创建了一个User模型的实例: ``` from django.contrib.auth.models import User user = User.objects.create(username='john') user.first_name = 'John' user.last_name = 'Doe' user.save() ``` 在这个例子中,我们首先创建了一个User实例,然后通过修改它的属性来更新它,最后使用save()方法将更改保存到数据库中。 总结 QuerySet和Object是Django中的两个不同的概念,它们分别代表了数据库操作的结果集合和模型中的一个实例。QuerySet是一个惰性的对象,它包含了一些查询结果的方法,可以用来进行进一步的过滤、排序、切片等操作。Object则代表了一个模型实例,你可以使用ORM API来创建、更新、删除和查询它。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值