【发布时间】:2013-09-21 11:09:39
【问题描述】:
我正在使用以下查询进行过滤
list = AboutMe.objects.order_by('MyLinkedInLastName').filter(Q(MyGender__contains=Gender1))
但是当我使用 unicode 字符串时它似乎不起作用。让我解释。在表中,数据字段存储为:例如[u'_M', u'_F']。例如,选择另一条记录的行和字段可能是 [u'_M']。当我将它剥离到文本时 - 即删除 [] 并显示我得到 u'_M' 并在过滤器中使用它作为 Gender1 。现在这似乎不起作用。但是如果我将“_M”硬编码到过滤器中就可以了。我不明白发生了什么 - 这里有某种隐式转换吗?
我从Gender1 = GenderField.split()[0].strip('[],')得到 Gender1
这似乎可行
list = AboutMe.objects.order_by('MyLinkedInLastName').filter(Q(MyGender__contains='_M'))
顺便说一句,出于此处的目的,我已经简化了查询。这似乎是编码的问题。使这项工作良好而稳健的最佳方法是什么?
【问题讨论】:
-
你能发布第一个查询的 sql 转储吗?
标签: python sql django object unicode