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