Django过滤器__in返回第一个匹配而不是全部

时间:2017-02-26 01:19:43

标签: python django

我的模型Location包含字段tag

class Location(models.Model):
    tag = models.CharField(max_length=10, unique=True)

在我的代码中,我有一个从文件中读入的标签列表:

in_tags = row['tags'].split(',')

创建in_tags,其值为['GB_31', 'GB_32', 'GB_33']

我的查询如下:

location_set = models.Location.objects.filter(tag__in=in_tags)

它只返回一个只有一个位置对象的QuerySet,一个带有tag =' GB_31'。

我已经尝试删除第一个元素,以防其他标记丢失或格式错误,并且它再次仅返回第一个匹配。

我进入了数据库并执行了查询

SELECT * FROM `location` WHERE `tag` IN ('GB_31', 'GB_32');

它按预期返回了两个位置。

我用python 3.4.4运行django 1.9.2

0 个答案:

没有答案