Python Django Haystack:使用SearchQuerySet的奇怪bug
我(在shell上)运行了以下代码: 这段代码的奇怪之处如下。对于大多数*search_text*值,此代码工作正常。当我用一个特定的搜索文本(在我的例子中是“Ca”)尝试它时,我得到了三个结果,但当它必须打印第三个结果的标题时,它说 “非类型”对象没有属性“标题” 如果我现在跑Python Django Haystack:使用SearchQuerySet的奇怪bug,python,django,django-haystack,Python,Django,Django Haystack,我(在shell上)运行了以下代码: 这段代码的奇怪之处如下。对于大多数*search_text*值,此代码工作正常。当我用一个特定的搜索文本(在我的例子中是“Ca”)尝试它时,我得到了三个结果,但当它必须打印第三个结果的标题时,它说 “非类型”对象没有属性“标题” 如果我现在跑 sqs 在shell上查看变量sqs的内容,然后我看到第三个条目是None 现在,如果我运行以下代码(也在shell上): 我放置这些中间SQ只是为了在每个步骤中看到它的内容。但一切都很好,三个结果的标题都打印出来了
sqs
在shell上查看变量sqs的内容,然后我看到第三个条目是None
现在,如果我运行以下代码(也在shell上):
我放置这些中间SQ只是为了在每个步骤中看到它的内容。但一切都很好,三个结果的标题都打印出来了
这是草堆虫吗?还是python bug?还是别的什么
更新:我运行了相同的代码,但没有
sqs = sqs[:4]
一切都很顺利。因此,当它试图调整sqs的大小时,出现了一些错误。奇怪的是,当我要求python显示其内容时,出错的东西都不会出错。(就像薛定谔的猫…哈哈)这不是调整大小,因为它不是一个普通的列表,它是一个QuerySet-like对象,当你做一个列表切片时它会被评估。@limelights:是的,但为什么我有时没有得到,但不总是得到?什么版本的haystack?另外,你能为
MyModel
搜索索引发布代码吗?
sqs = SearchQuerySet().models(myModel).filter(title=search_text)
sqs
sqs = sqs[:4]
sqs
for s in sqs:
print s.title
sqs = sqs[:4]