我被这个人困了好几个小时。 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)
有什么建议吗?
感谢。