2

我运行了以下代码(在外壳上):

sqs = SearchQuerySet().models(myModel).filter(title=search_text)
sqs = sqs[:4]

for s in sqs:
    print s.title

这段代码的奇怪之处如下。对于 *search_text* 的大多数值,此代码工作正常。当我使用特定的 *search_text*(在我的情况下为“Ca”)尝试它时,我得到了三个结果,但是当它必须打印第三个结果的标题时,它说

“NoneType”对象没有属性“标题”

如果我现在跑

sqs

在 shell 上查看变量sqs的内容,然后我看到第三个条目是None

现在,如果我运行以下代码(也在 shell 上):

sqs = SearchQuerySet().models(myModel).filter(title=search_text)
sqs
sqs = sqs[:4]
sqs

for s in sqs:
    print s.title

我把那些中间的sqs只是为了在每个步骤中查看它的内容。但是一切都很好,所有三个结果都打印了它们的标题。

这是干草堆错误吗?还是蟒蛇错误?或者是其他东西?


更新:我运行了相同的代码,但没有

sqs = sqs[:4]

一切顺利。所以当它试图调整sqs的大小时会出现问题。奇怪的是,无论出现什么问题,当我要求 python 显示其内容时都不会出错。(就像薛定谔的猫……哈哈)

4

0 回答 0