【发布时间】:2011-12-22 14:19:21
【问题描述】:
我有一个 Django 查询集,它在不同情况下得到不同的结果,我很困惑。
texts = Text.objects.filter(keywords__icontains=word)
型号:
class Text(models.Model):
views = models.IntegerField(default=0)
keywords = models.CharField(max_length=250)
response = models.CharField(max_length=140)
该调用(字面复制)使用 ./manage.py shell 获得预期结果,但在服务器上找不到任何内容。
当我调用 Text.objects.all() 时,它会提取结果,但由于某种原因,服务器上的过滤器没有找到与任何其他情况相同的结果。
为什么???
【问题讨论】:
-
这是在同一台机器上使用相同的 settings.py 文件吗?如果没有,您是否在两台机器上都运行了 syncdb?
-
您如何在服务器上定义
word(可能在您的views.py 中)?我敢打赌你的问题就在那里。 -
它们在同一台机器上,使用相同的 settings.py。
-
我在每种情况下都用相同的过程定义单词,在短语中接收一个字符串,然后我用 word = body.split(' ')[0] 检索第一个单词。有没有更好的方法来获取字符串的第一个单词?
标签: django django-models django-queryset