Django ORM: the structure of the database and building queries for the dynamic filter?

Welcome! You want to display number of products in each category and for each filtering option, do not show empty.
- Mysql database
The filter parameters are known (price, color, style, brand, pattern, composition, size)
- EAV use would not be desirable, because parameters are not planned to be added
We have the following dB structure


The suitability of this structure for this task? As for orm to make a query for fetching the data?
March 20th 20 at 11:39
1 answer
March 20th 20 at 11:41
With such tasks the RDBMS handle it poorly. Usually they implement a full-text search engine, like Elasticsearch.
+1 - Rae.Beahan commented on March 20th 20 at 11:44
So these filters are implemented in almost all popular CMS (opencart, magento, Bitrix, etc.) and as far as I know without Elasticsearch. - Lucile_Cart commented on March 20th 20 at 11:47
@candace_Armstrong, asked sakvarelo colleagues, he argues that in Bitrix faceted search uses Sphinx. - Thaddeus_Senger92 commented on March 20th 20 at 11:50
@Edwina.Doyle, Thanks for the answers! About Bitrix I was wrong. I'll try to still scratch with opencart and see how it combines the filters. - Lucile_Cart commented on March 20th 20 at 11:53

Find more questions by tags MySQLDjangoDatabase design