forked from 0x2620/pandora
Merge remote-tracking branch 'wjt/2935-findDocuments-performance'
This commit is contained in:
commit
3d95d7013a
3 changed files with 38 additions and 8 deletions
|
|
@ -39,14 +39,18 @@ def parseCondition(condition, user, item=None):
|
|||
|
||||
|
||||
def buildCondition(k, op, v):
|
||||
import entity.models
|
||||
if k == 'id':
|
||||
v = ox.fromAZ(v)
|
||||
return Q(**{k: v})
|
||||
if isinstance(v, bool):
|
||||
key = k
|
||||
elif k == 'entity':
|
||||
entity_key, v = entity.managers.namePredicate(op, v)
|
||||
key = 'entities__' + entity_key
|
||||
entity_key, entity_v = entity.managers.namePredicate(op, v)
|
||||
key = 'id__in'
|
||||
v = entity.models.DocumentProperties.objects.filter(**{
|
||||
'entity__' + entity_key: entity_v
|
||||
}).values_list('document_id', flat=True)
|
||||
else:
|
||||
key = k + get_operator(op, 'istr')
|
||||
key = str(key)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue