Enhance search and ordering fields across remaining REST API endpoints - #12737
Enhance search and ordering fields across remaining REST API endpoints#12737bhumin18 wants to merge 14 commits into
Conversation
✅ Deploy Preview for inventree-web-pui-preview canceled.
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #12737 +/- ##
==========================================
- Coverage 87.17% 87.15% -0.03%
==========================================
Files 1486 1486
Lines 101206 101211 +5
Branches 11524 11612 +88
==========================================
- Hits 88228 88211 -17
- Misses 12916 12938 +22
Partials 62 62
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
…enhance-remaining-api-search-fields
…lds' into enhance-remaining-api-search-fields
|
I would like to take a step back and consider how adding all these additional search fields will impact search performance. We already see search performance degrading on installs with very large data sets - additional search fields only make this take more time |
|
Hi @SchrodingersGat, thank you for the feedback. That makes complete sense regarding search performance on large datasets. I have updated the PR to address this:
Also merged latest |
Summary
This PR improves search and ordering capabilities across remaining REST API endpoints:
machine/api.py(MachineList-/api/machine/):machine_typeanddrivertosearch_fields = ['name', 'machine_type', 'driver'].stock/api.py:StockLocationTypeList(/api/stock/location-type/): Adddescriptiontosearch_fields = ['name', 'description'].StockTrackingList(/api/stock/track/): Add tracking user (user__username,user__first_name,user__last_name),title, and stock item details (item__part__name,item__part__IPN,item__serial) tosearch_fields.importer/api.py:DataImportSessionList(/api/importer/session/): Add missingsearch_fields = ['model_type', 'user__username', 'user__first_name', 'user__last_name'].DataImportColumnMappingList(/api/importer/column-mapping/): Add missingsearch_fields = ['column_label', 'field_name']andordering_fields = ['column_label', 'field_name', 'session'].report/api.py(ReportAssetList-/api/report/asset/):filter_backends = SEARCH_ORDER_FILTER,search_fields = ['description'], andordering_fields = ['description'].