目录
搜索功能:
models.PrettyNum.objects.filter(id=12) # 等于12
models.PrettyNum.objects.filter(id_gt=12) # 大于12
models.PrettyNum.objects.filter(id_gte=12) # 大于等于12
models.PrettyNum.objects.filter(id_lt=12) # 小于12
models.PrettyNum.objects.filter(id_lte=12) # 小于等于12
data_dict = {"id_lte":12}
models.PrettyNum.objects.filter(**data_dict)
models.PrettyNum.object.filter(mobile="999") # 等于
models.PrettyNum.object.filter(mobile__startswith="1999") # 筛选出以1999开头
models.PrettyNum.object.filter(mobile__endswith="999") # 筛选出以999结尾
models.PrettyNum.object.filter(mobile__contains="999") # 筛选出包含999
data_dict = {"mobile__contains":"999"}
models.PrettyNum.objects.filter(**data_dict)
#测验是否能查询到
q1 = models.PrettyNum.objects.filter(mobile="13962451352", id=2)
print(q1)
# 空字典表示获取所有
data_dict = {"mobile":"13651212345", "id":6}
q2 = models.PrettyNum.objects.filter(**data_dict)
print(q2)
输出:q1:[<PrettyNum: PrettyNum object (2)>]
value = request.GET.get('q')
data_dict = {"mobile__contains": value}
res = models.PrettyNum.objects.filter(**data_dict)
print(res)
红框处【?q=xxx】手动输入(不输入将报错)
进一步优化:
def mobile_list(request):
""" 靓号管理 """
data_dict = {}
search_data = request.GET.get('q')
if search_data:
data_dict["mobile__contains"] = search_data
queryset = models.PrettyNum.objects.filter(**data_dict).order_by("-level")#排序
return render(request,'mobile_list.html', {"queryset": queryset, "search_data": search_data})
#搜索框表单提交实现
<div style="float: right; width=300px;">
<form method="get">
<div class="input-group">
<input type="text" name="q" class="form-control" placeholder="Search for..." value="{
{ search_data }}">
<span class="input-group-btn">
<button class="btn btn-default" type="submit">
<span class="gly