def q(self):
rtype = self._instance.condition_resource_cls._meta["collection"]
ids = set()
for key, value in self.tags.iteritems():
query = {
'owner': self._instance.owner,
'resource_type': rtype,
'key': key,
}
if value:
query['value'] = value
ids |= set(tag.resource.id
for tag in Tag.objects(**query).only('resource'))
return me.Q(id__in=ids)
评论列表
文章目录