Fix admin search for PurchaseOrderLineItem (#12508)

Expand search_fields on PurchaseOrderLineItemAdmin to allow
searching by part name, part description, supplier SKU,
order reference, and supplier name.

Previously, only the optional 'reference' field was searchable,
making it impossible to find line items by part or order details.

- part__part__name: search by underlying Part name
- part__part__description: search by Part description
- part__SKU: search by Supplier SKU
- order__reference: search by Purchase Order reference
- order__supplier__name: search by Supplier name

Also adds a unit test to verify the search_fields are correctly
configured.
This commit is contained in:
Bhumin Paladiya
2026-07-31 10:24:05 +10:00
committed by GitHub
parent 20ea122a8b
commit 5d758bbdf4
2 changed files with 18 additions and 1 deletions
+8 -1
View File
@@ -94,7 +94,14 @@ class PurchaseOrderLineItemAdmin(admin.ModelAdmin):
list_display = ('order', 'part', 'quantity', 'reference')
search_fields = ('reference',)
search_fields = [
'part__part__name',
'part__part__description',
'part__SKU',
'order__reference',
'order__supplier__name',
'reference',
]
autocomplete_fields = ('order', 'part', 'destination')
+10
View File
@@ -728,3 +728,13 @@ class OrderUpdatedAtTest(TestCase):
before = self._refresh(instance).updated_at
line.delete()
self.assertGreaterEqual(self._refresh(instance).updated_at, before)
def test_po_lineitem_admin_search(self):
"""Test search fields for PurchaseOrderLineItemAdmin."""
from order.admin import PurchaseOrderLineItemAdmin
admin_class = PurchaseOrderLineItemAdmin
self.assertIn('part__part__name', admin_class.search_fields)
self.assertIn('part__SKU', admin_class.search_fields)
self.assertIn('order__reference', admin_class.search_fields)
self.assertIn('order__supplier__name', admin_class.search_fields)