如何在Django admin的搜索查询参数中检查字符串contain AND OR

2024-09-30 14:25:30 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我需要从给定模型的过滤器数据的查询字符串中进行查询

查询将被删除 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))

Tags: and数据字符串模型testcomhttp过滤器
1条回答
网友
1楼 · 发布于 2024-09-30 14:25:30

试试这样的

   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:
        ...

相关问题 更多 >