Django QuerySet类属性

时间:2016-12-16 19:16:24

标签: django django-queryset

此问题get class name for empty queryset in django举例说明Django中的QuerySet具有属性model

QuerySet API documentation列出了方法,但我找不到列出其属性的地方

有没有办法检索它们,或者我在文档中缺少它?

1 个答案:

答案 0 :(得分:1)

它看起来是必要的并不好,但有一个"来源"链接旁边的链接,说明类定义的样子。这导致了__init__方法:

def __init__(self, model=None, query=None, using=None, hints=None):
    self.model = model
    self._db = using
    self._hints = hints or {}
    self.query = query or sql.Query(self.model)
    self._result_cache = None
    self._sticky_filter = False
    self._for_write = False
    self._prefetch_related_lookups = []
    self._prefetch_done = False
    self._known_related_objects = {}  # {rel_field, {pk: rel_obj}}
    self._iterable_class = ModelIterable
    self._fields = None

由此我们可以看到self.modelself.query存在,但所有其他都是私有的,您不应该使用它们。

通过进一步滚动,还有属性queryset.db,即现在要运行查询时将使用的数据库。