登录

python - Django如何实现如下的参数为空的动态查询

任意输入手机号或身份证后六位其中一个,则返回其中一个结果。
同时输入手机号和身份证后六位两者,则返回与结果。

想问下这种逻辑该如何处理呢?

# Python
PHPz PHPz 2497 天前 735 次浏览

全部回复(2) 我要回复

  • PHP中文网

    PHP中文网2017-05-27 17:41:19

    mobile = request.GET.get('mobile', None)
    id_no = request.GET.get('id_no', None)
    
    data_list = XXX.objects.all()
    if mobile:
        data_list = data_list.filter(mobile=mobile)
    if id_no:
        data_list = data_list.filter(id_no=id_no)

    回复
    0
  • 迷茫

    迷茫2017-05-27 17:41:19

    filter = {}
    if mobile:
        filter['mobile'] = mobile
    if card:
        filter['card'] = card
    if status:
        filter['status'] = status
    
    TableModel.objects.filter(**filter)
    

    回复
    0
  • 取消 回复 发送