Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Django-shop elasticsearch bug "Unexpected queryset model" #881

Open
tofbang opened this issue Dec 18, 2023 · 3 comments
Open

Django-shop elasticsearch bug "Unexpected queryset model" #881

tofbang opened this issue Dec 18, 2023 · 3 comments

Comments

@tofbang
Copy link

tofbang commented Dec 18, 2023

Hi,
i am on Debian 10 buster, python 3.7
I installed django-shop 1.2.4 demo and it works quite well.
however a bug related to the elasticsearch_dsl library occurs when I use the site search module:

TypeError at /en/search/
Unexpected queryset model (should be: <class 'myshop.models.Product'>, got: <class 'myshop.models.Product'>)

Request Method: GET
Request URL: http://www.cris-shiatsu.fr:9009/en/search/?q=test
Django Version: 3.0.14
Exception Tyoe: TypeError
Exception Value: Unexpected queryset model (should be: <class 'myshop.models.Product'>, got: <class 'myshop.models.Product'>)
Exception Location: /usr/local/lib/python3.7/site-packages/django_elasticsearch_dsl/search.py in filter_queryset, line 26
/usr/local/bin/uwsgi
Python version: 3.7.17

This bug refers to the following code in search.py ​​of the django-elasticsearch-dsl library:

def filter_queryset(self, queryset, keep_search_order=True):
        """
        Filter an existing django queryset using the elasticsearch result.
        It costs a query to the sql db.
        """
        s = self
        if s._model is not queryset.model:
            raise TypeError(
                'Unexpected queryset model '
                '(should be: %s, got: %s)' % (s._model, queryset.model)
            )

For the moment I commented out the error throwing condition and it works but i would like to understand and eventually resolve the problem without hacking the library

Please would you have an idea ?

@jrief
Copy link
Member

jrief commented Dec 18, 2023

Without more context, I can't name any reason.

Did I write the code you have shown?

@tofbang
Copy link
Author

tofbang commented Dec 19, 2023

sorry... i probably should ask to the library writer

@jhonvidal
Copy link
Collaborator

jhonvidal commented Dec 19, 2023

sorry... i probably should ask to the library writer

I had the same problem, and I sent the solution to the library uploader, you can see it here:

django-es/django-elasticsearch-dsl#464

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants