Я использую Django oscar (2.0.2), где я установил связь внешнего ключа идентификаторов продавца с таблицей продуктов AbstractProduct с данными (https://prnt.sc/s1ssxx) так что я могу получить данные о продавце c из базы данных. По умолчанию oscar возвращает все продукты в результатах поиска, я хочу только возвращать продукты, указанные c, на сайт продавца.
Я использую простой поиск в Haystack, как это предлагается в документации к оскару. Я попытался переопределить приложение поиска, как и все другие приложения, я переопределил файл search_indexes.py, но, похоже, он никогда не вызывается из FacetedSearchView. , Я также пытался переопределить обработчики поиска, но он также не вызывался.
Я пытался понять функциональность поиска Oscar, но в оболочке я получил предупреждение,
UserWarning : Модель не зарегистрирована для поиска. warnings.warn ('Модель% r не зарегистрирована для поиска.'% (model,)) Model '' не обрабатывается маршрутизаторами. Класс модели oscar_apps.catalogue.models.Product, который не обрабатывается маршрутизаторами.
Как зарегистрировать модель продукта для поиска?
где мне придется переопределить запрос, подобный этому :
Product.objects.filter (user_id = 1), чтобы при поиске товара возвращать только товары, определенные продавцом c?
Я знаю, как переопределить приложения, но мог бы кто-то даст обзор и объяснит мне шаги, которые потребуются для переопределения приложения поиска, и чтобы работала базовая функция сортировки c?
, если мой вопрос неясен, дайте мне знать в комментариях так что я могу улучшить его.