【发布时间】:2011-06-08 13:08:58
【问题描述】:
当我这样做时,
>>> b = Blog.objects.all()
>>> b
我明白了:
>>>[<Blog: Blog Title>,<Blog: Blog Tile>]
当我查询b 是什么类型时,
>>> type(b)
我明白了:
>>> <class 'django.db.models.query.QuerySet'>
这是什么意思?是dict、list等数据类型吗?
我如何构建像QuerySet 这样的数据结构的示例将不胜感激。
我想知道 Django 如何构建 QuerySet(血淋淋的细节)。
【问题讨论】:
-
您可以查看Django的源代码以查看血腥细节。除此之外,QuerySet 只是一个对象,就像许多其他对象一样,有时恰好表现得像一个列表。
-
它是什么:docs.djangoproject.com/en/dev/ref/models/querysets 关于它的工作原理,如前所述,请查看源代码。
-
这里是 Django 中定义 QuerySet 的地方:github.com/django/django/blob/master/django/db/models/query.py