Создание запроса django из строки

У меня есть список строк, которые приходят в странном формате, таком как этот:

OR(EQUAL(id,111),EQUAL(id,222)) 
AND(EQUAL(id,333),EQUAL(name,"John"))

Я хочу разобрать эти строки и запустить их в качестве фильтра в Django следующим образом:

from django.db.models import Q

People.objects.filter(Q(id=111) | Q(id=222))
People.objects.filter(Q(id=333) & Q(name="John"))

Есть ли парсер, который может помочь мне в этом? Или мне придется писать его с нуля?

Вернуться на верх