要实现按名称查找表的功能,可以按照以下步骤进行:
from django.db import models
class Table(models.Model):
name = models.CharField(max_length=100)
# 其他字段...
from django.shortcuts import render
from .models import Table
def search_table(request):
if request.method == 'POST':
search_name = request.POST.get('search_name')
tables = Table.objects.filter(name__icontains=search_name) # 使用icontains进行模糊查询
return render(request, 'search_results.html', {'tables': tables})
return render(request, 'search_table.html')
search_results.html
:{% if tables %}
{% for table in tables %}
- {{ table.name }}
{% endfor %}
{% else %}
No results found.
{% endif %}
search_table.html
:
urls.py
中定义URL路由,将视图与URL关联起来,例如:from django.urls import path
from .views import search_table
urlpatterns = [
path('search/', search_table, name='search_table'),
# 其他URL路由...
]
现在,当用户访问/search/
时,将显示一个表单,用户可以输入表名进行搜索。搜索结果将显示在另一个页面上。