Realizando Buscas#
As classes Registro, Bloco e ListaRegistro suportam a busca de registros dentro de si mesmos. Ambas usam a função buscar() para isso, com a mesma sintaxe de comandos e o retorno de outra ListaRegistro com os registros encontrados.
A filtragem dos registros a serem encontrados funciona por meio de lista branca, em que que cada registro precisa ser válido em cada parâmetro para estar presente no resultado retornado.
Caso a função seja executado sem nenhum filtro, todos os registros são retornados (mas para essa situação existe a propriedade atalho registros). Adicionalmente a função primeiro() está presente nas mesmas classes que buscar(), e é um atalho equivalente a buscar(..., primeiro=True)[0].
Finalmente os mesmo parâmetros também podem aparecer parcialmente em outras funções que realizam uma ação baseada em um conjunto de filtro especificado. Especificamente a função remover() e teste().
buscar
#
buscar(
nome: str | None = None,
campos: dict[Chave, Valor | Iterable[Valor]] | None = None,
*,
campos_c: dict[Chave, ValorC | Iterable[ValorC]] | None = None,
campos_n: dict[Chave, ValorN | Iterable[ValorN]] | None = None,
filtro: Callable[[Registro], bool] | None = None,
recursivo: bool = True,
primeiro: bool = False
) -> ListaRegistro[Registro]
Realiza uma busca de registros válidos por todos os registros filhos do componente, de acordo com os parâmetros informados.
Parameters:
-
(nome#str | None, default:None) –Nome dos registros buscados.
-
(campos#dict[Chave, Valor | Iterable[Valor]] | None, default:None) –Dicionários com chaves e um ou mais valores dos campos nos registros buscados.
-
(campos_c#dict[Chave, ValorC | Iterable[ValorC]] | None, default:None) –Dicionários com chaves e um ou mais valores alfanuméricos dos campos nos registros buscados.
-
(campos_n#dict[Chave, ValorN | Iterable[ValorN]] | None, default:None) –Dicionários com chaves e um ou mais valores numéricos dos campos nos registros buscados.
-
(filtro#Callable[[Registro], bool] | None, default:None) –Função que recebe um
Registroe retornaTruepara os registros buscados. -
(recursivo#bool, default:True) –Se a busca é feita de forma recursiva.
-
(primeiro#bool, default:False) –Se a busca deve ser encerrada após o primeiro registro ser encontrado.
Returns:
-
ListaRegistro[Registro]–Lista de registros contendo todos os registros válidos encontrados na busca.
Examples: