def get_user_compensar(self, id, id_type): """ Get Usuarios active or inactive :param id: :return: """ #records = Usuarios.objects(id_usuario__exact=id) #rows = Usuarios.objects(id_usuario='1000000765') try: elemento_usos = [] record = records = Usuarios.objects( id_usuario__exact=id, tipo_id_usurio__exact=id_type.upper()) if record.count() == 0: return {'msg': 'User Not Activated', 'code': 0} records = Usuarios.objects(id_usuario__exact=id, tipo_id_usurio__exact=id_type.upper()).aggregate(*[ { '$lookup': { 'from': Usos._get_collection_name(), 'localField': 'id_trabajador', 'foreignField': 'id_trabajador', 'as': 'Usos' }, }, { '$lookup': { 'from': Cluster._get_collection_name(), 'localField': 'cluster_id', 'foreignField': 'cluster_id', 'as': 'Cluster' } }, ]) for element in records: elemento_usos = element elemento_usos = copy.deepcopy(elemento_usos) if len(element['Usos']) == 0: elemento_usos['Usos'] = {'red': 0, 'aliados': 0} else: elemento_usos['Usos'] = [] elemento_usos['Usos'] = { "red": element['Usos'][0]['usos_red'], "aliados": element['Usos'][0]['usos_aliados'], } return elemento_usos except Exception as err: print(err) return err