Hi,

I was going to file this as a bug, but it said to ask the mailing list 
first. 

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]

Is there a way to do the query that I'm trying to do here, or have I found 
a bug? 

Thanks,
Alex

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/4137b90b-4c51-49e8-a05d-181626baac8c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to