Django queryset从shell和服务器返回不同的结果

时间:2011-12-22 14:19:21

标签: django django-models django-queryset

我有一个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()时它会提取结果,但由于某种原因,服务器上的过滤器找不到与任何其他情况相同的结果。

WHY ???

1 个答案:

答案 0 :(得分:0)

也许这是因为您的生产数据库引擎与您的开发数据库引擎不同(我假设您在本地计算机上运行manage.py shell)?

请注意,行为 - 尤其是字符串匹配 - 可能会有所不同according to your database backend

或者您的数据库内容可能不同?

如果manage.py shell命中同一个数据库,则结果应该相同。您确定您的请求(来自Web服务器)是否正确?检查数据库日志。