Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HStore Value_uu包含Django 1.8中的搜索_Django_Django Queryset_Hstore_Django 1.8 - Fatal编程技术网

HStore Value_uu包含Django 1.8中的搜索

HStore Value_uu包含Django 1.8中的搜索,django,django-queryset,hstore,django-1.8,Django,Django Queryset,Hstore,Django 1.8,我在Django.users上问过这个问题,但没有回应。我最近升级到了Django 1.8,以利用对HStore字段的本机支持(不使用Django HStore),但我遇到了这个问题。我不确定这是否是一个bug,或者是否有一个未记录的方法来实现这一点 我试图找到给定模型中的所有对象,其HStore字段中的“值”包含字符。但是,只有在搜索项与其值之间存在精确匹配时,“\uuuu contains”搜索才有效 从我自己的应用程序中(我删除了一些queryset结果,以使其更易于阅读) >>查询1 [

我在Django.users上问过这个问题,但没有回应。我最近升级到了Django 1.8,以利用对HStore字段的本机支持(不使用Django HStore),但我遇到了这个问题。我不确定这是否是一个bug,或者是否有一个未记录的方法来实现这一点

我试图找到给定模型中的所有对象,其HStore字段中的“值”包含字符。但是,只有在搜索项与其值之间存在精确匹配时,“\uuuu contains”搜索才有效

从我自己的应用程序中(我删除了一些queryset结果,以使其更易于阅读)

>>查询1
[,'…(其余元素被截断)…]
>>>query1.filter(多光泽值包含=[“此”])
[]
>>>query1.filter(多光泽值包含=[“此(f)”)
[,'…(其余元素被截断)…]
>>>query1.filter(多重光泽值包含=[“His”])
[,'…(其余元素被截断)…]
>>>query1.filter(多光泽值包含=[“Hi”])
[]
预期的结果是,查询将返回其“multigloss”值包含字符串的任何数据,而不仅仅是那些完全相同的字符串

如果没有包含整个单词“collie”(我没有测试,这是一个假设的结果),中的示例也应该失败:

>Dog.objects.create(name='Rufus',data={'bride':'labrador'})
>>>创建(name='Meg',data={'bride':'collie','owner':'Bob'})
>>>Dog.objects.filter(数据值包含=['collie']))
[]
>>>#假设的例子!
>>>Dog.objects.filter(数据\值\包含=['coll'])
[]
>>>#应该已经回来了[狗:梅格]
是否有一种方法可以执行我在这里尝试执行的查询,或者我是否发现了一个bug

>>> query1
[<LanguageDatum: \xf0i, This (m), And, >, <LanguageDatum: hadi, This (f), AfgA, >, <LanguageDatum: -e, His, ArBah, >, '...(remaining elements truncated)...']
>>> query1.filter(multigloss__values__contains=["This"])
[]
>>> query1.filter(multigloss__values__contains=["This (f)"])
[<LanguageDatum: hadi, This (f), AfgA, >,  <LanguageDatum: \xf0i, This (f), ArAnz, >, '...(remaining elements truncated)...']
>>> query1.filter(multigloss__values__contains=["His"])
[<LanguageDatum: -e, His, ArBah, >, <LanguageDatum: -eh, His, ArBah, >, <LanguageDatum: -hu, His, Chd, >, <LanguageDatum: -u, His, Chd, > '...(remaining elements truncated)...']
>>> query1.filter(multigloss__values__contains=["Hi"])
[]
>>> Dog.objects.create(name='Rufus', data={'breed': 'labrador'})
>>> Dog.objects.create(name='Meg', data={'breed': 'collie', 'owner': 'Bob'})

>>> Dog.objects.filter(data__values__contains=['collie'])
[<Dog: Meg>]

>>>#Hypothesized example!
>>> Dog.objects.filter(data__values__contains=['coll'])
[]
>>>#Should have returned [Dog: Meg]