diff --git a/ram/metadata/admin.py b/ram/metadata/admin.py
index c9f7bf9..f10ac6d 100644
--- a/ram/metadata/admin.py
+++ b/ram/metadata/admin.py
@@ -22,7 +22,7 @@ class DecoderAdmin(admin.ModelAdmin):
readonly_fields = ("image_thumbnail",)
list_display = ("__str__", "interface")
list_filter = ("manufacturer", "interface")
- search_fields = ("__str__",)
+ search_fields = ("name", "manufacturer__name")
@admin.register(Scale)
@@ -59,4 +59,4 @@ class TagAdmin(admin.ModelAdmin):
class RollingStockTypeAdmin(SortableAdminMixin, admin.ModelAdmin):
list_display = ("__str__",)
list_filter = ("type", "category")
- search_fields = list_display
+ search_fields = ("type", "category")
diff --git a/ram/portal/templates/search.html b/ram/portal/templates/search.html
index 306b6cf..b2c39c4 100644
--- a/ram/portal/templates/search.html
+++ b/ram/portal/templates/search.html
@@ -26,7 +26,7 @@
{% if i == rolling_stock.paginator.ELLIPSIS %}
{{ i }}
{% else %}
- {{ i }}
+ {{ i }}
{% endif %}
{% endif %}
{% endfor %}
diff --git a/ram/portal/views.py b/ram/portal/views.py
index 442f129..d624f2a 100644
--- a/ram/portal/views.py
+++ b/ram/portal/views.py
@@ -74,9 +74,9 @@ class GetHomeFiltered(View):
| Q(rolling_class__company__extended_name__icontains=search)
)
elif _filter == "scale":
- query = Q(scale__scale__icontains=search)
+ query = Q(scale__scale__iexact=search)
elif _filter == "tag":
- query = Q(tags__slug__icontains=search)
+ query = Q(tags__slug__iexact=search)
else:
raise Http404
rolling_stock = RollingStock.objects.filter(query).order_by(
diff --git a/ram/roster/admin.py b/ram/roster/admin.py
index cb58ec8..970e593 100644
--- a/ram/roster/admin.py
+++ b/ram/roster/admin.py
@@ -20,7 +20,11 @@ class RollingClass(admin.ModelAdmin):
inlines = (RollingClassPropertyInline,)
list_display = ("__str__", "type", "company")
list_filter = ("company", "type__category", "type")
- search_fields = list_display
+ search_fields = (
+ "identifier",
+ "company__name",
+ "type__type",
+ )
class RollingStockDocInline(admin.TabularInline):
@@ -62,10 +66,18 @@ class RollingStockAdmin(admin.ModelAdmin):
list_filter = (
"rolling_class__type__category",
"rolling_class__type",
+ "rolling_class__company__name",
"scale",
"manufacturer",
)
- search_fields = list_display
+ search_fields = (
+ "rolling_class__identifier",
+ "rolling_class__company__name",
+ "manufacturer__name",
+ "road_number",
+ "address",
+ "sku",
+ )
fieldsets = (
(