﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
25021	Document differences between HStore values query with contains and standard __contains lookup	amagidow	nobody	"When using an HStore {{{__values}}} query with {{{__contains}}} chained on to it, the query does not work as expected in Django 1.8.2. Expected action is that any values which contain the text will be returned from the query.

From my own app (I've removed some of the queryset results to make this easier to read)

{{{
>>> 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""])
[]
}}}

The expected result would be that the queries would return any data whose 'multigloss' values contain the string, not only those strings which are exactly identical. 


The example in the documentation should also fail if you did not include the entire word ""collie"" (I have not tested, this is a hypothesized result):

{{{
>>> 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]
}}}

If this is not how {{{__values__contains}}} is supposed to work, this should be clarified in the documentation since it is extremely unclear how to do a search for values within the HStore that match a certain criterion (such as containing a string). 
"	New feature	closed	Documentation	1.8	Normal	invalid	HStore, Postgresql, queries	me@…	Accepted	0	0	0	0	0	0
