Django过滤器返回0结果,即使数据库表有数据

时间:2012-10-09 00:18:29

标签: database django

我被这个人困了好几个小时。 Django中的查询过滤器没有按预期运行,我想知道它是否与(a)保留字或(b)unicode混淆或(c)完全不同的东西有关。

我有一个名为Route的模型,其中包含以下字段:

from_number = models.CharField(max_length=15)
other_number = models.CharField(max_length=15) 

我想从数据库中获取other_number的列表,其中from_number等于变量from_number。

这是我正在尝试的代码,但它返回一个空列表:

list = Route.objects.filter(from_number=from_number).values_list('other_number', flat=True)

即使我将过滤器中的值硬编码为我知道在数据库中的值,我得到一个空列表:

list = Route.objects.filter(from_number='+18005551212').values_list('other_number', flat=True)

但是,通过检查数据库(PostgreSQL),我知道数据库有几行应该返回。例如,没有过滤器的代码返回所有值的列表:

list = Route.objects.all().values_list('other_number', flat=True)

有什么建议吗?

感谢。

0 个答案:

没有答案