【问题标题】:how to check the string contain AND and OR in search query params in django admin如何在 django admin 的搜索查询参数中检查字符串是否包含 AND 和 OR
【发布时间】:2023-03-23 06:56:01
【问题描述】:

您好,我需要从查询字符串中查询给定模型中的过滤数据,

查询将是 http://127.0.0.1:3007/admin/test/testfilter/?q=user:cadmus@test.com AND age:15,

需要得到以下格式的结果

from django.models import Q
models.objects.filter(Q(user=cadmus@test.com) & Q(age=15))

【问题讨论】:

  • 如何在 django admin 的搜索查询参数中检查字符串是否包含 AND 和 OR

标签: python django django-admin django-admin-filters


【解决方案1】:

试试类似的东西

   query = Q()

   if 'AND' in request.GET['q']:
        query_parts = request.GET['q'].split('AND')
        for part in query_parts:
            query = query & Q(part.split(':')[0]=part.split(':')[1])
            models.objects.filter(query)
   elif 'OR' in request.GET['q']:
        query_parts = request.GET['q'].split('OR')
        ...
   else:
        ...

【讨论】:

    猜你喜欢
    • 2014-11-17
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 2021-04-13
    • 1970-01-01
    • 2016-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多