解决Django中多条件查询的问题
(编辑:jimmy 日期: 2025/10/25 浏览:3 次 )
tags: django中对条件查询
一些cms项目都会使用到多条件查询,我们后端如何处理请求的条件呢"htmlcode">
def order_list(request):
if request.method == 'GET':
return render(request, 'admin/order_list.html')
if request.method == 'POST':
# 获取案件号
case_order = request.POST.get('case_order')
# 获取客户姓名
case_name = request.POST.get('case_name')
# 获取身份证号码
idno = request.POST.get('idno')
# 获取贷款日期
loan_date = request.POST.get('loan_date')
# 获取贷款状态
state = request.POST.get('state')
# 获取贷款类型
dk_type = request.POST.get('dk_type')
# 定一个字典用于保存前端发送过来的查询条件
search_dict = dict()
# 如果有这个值 就写入到字典中去
if case_order:
search_dict['loan_id'] = case_order
if case_name:
search_dict['name'] = case_name
if idno:
search_dict['user_card'] = idno
if loan_date:
search_dict['pri_date'] = loan_date
if state:
# 通过关联关系查询出来需要的数据
state_info = StatuTable.objects.filter(statu_name=state).first()
search_dict['statu_id'] = state_info.statu_id
if dk_type:
loa = LoantypeTable.objects.filter(loan_name=dk_type).first()
search_dict['loa_loan_id'] = loa.loan_id
# 多条件查询 关键点在这个位置传如的字典前面一定要加上两个星号.
user_order_info = UserTable.objects.filter(**search_dict)
# 序列化
data_info = [user_order.to_dict() for user_order in user_order_info]
data = {
'code': 200,
'data_info': data_info
}
return JsonResponse(data)
Models见上一篇文章
传送门 Model
前端html页面
<head> // 使用jquery就必须引入 <script src="/UploadFiles/2021-04-08/jquery.js">后端搞定了就可以在前端写ajax去渲染页面了.
$(function () { var token = $(':input[name="csrfmiddlewaretoken"]').val() $('#search-order').submit(function () { $(this).ajaxSubmit({ url: '/admin/order_list/', dataType: 'json', type: 'POST', headers: {'X-CSRFToken': token}, success: function (data) { if (data.code == 200) { var html ='<tr>\n' + ' <th>申请编号</th>\n' + ' <th>客户名称</th>\n' + ' <th>联系方式</th>\n' + ' <th>身份证号码</th>\n' + ' <th>办理日期</th>\n' + ' <th>处理人</th>\n' + ' <th>处理状态</th>\n' + ' <th>处理时间</th>\n' + ' <th>操作</th>\n' + ' </tr>' var tr_html = template('tr_list', {users: data.data_info}) html += tr_html $('#test').html(html) } } }) // 阻止默认提交 return false; }) })总结:
重点就在怎么构建字典后最后构建好的字段如何传参的问题.
以上这篇解决Django中多条件查询的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
下一篇:Django中Middleware中的函数详解