【发布时间】:2016-02-11 22:12:51
【问题描述】:
我有一个代码列表:
21000000 Code 1
21000001 Code 2
22000000 Code 3
22000001 Code 4
22002100 Code 5
代码的模型是:
class Category(models.Model):
code_id = models.CharField(max_length=50)
我想只过滤以 2100XXXX 开头的代码。当我使用startswith时,它似乎无法识别数字。什么是正确的查询集调用以仅过滤 2100XXXX 的正确方法。目前,我的代码是:
DB.objects.filter(code__startswith='2100')
这应该选择代码 1 和 2,而不是其他代码。
谢谢
【问题讨论】:
-
大概您的模型字段是
CharField或TextField?返回的查询集是什么?您可以发布模型的相关部分吗? -
@TimmyO'Mahony 模型已添加。
-
那是您拥有的确切代码吗?您的字段名为
code_id,但您的查询使用code。 -
我不确定这些是否是拼写错误,但您在查询中使用了错误的模型并且您使用了错误的字段。应该是
Category.objects.filter(code_id__startswith='2100') -
代码都是由数字组成的吗?
标签: django postgresql django-queryset