Ir para o conteúdo

Definições

Quem nunca teve aquela sensação de que às vezes seria bom ter algumas configurações de base de dados? Bem, como o Mongoz é do mesmo autor do Esmerald e como o Esmerald é orientado a configurações, por que não aplicar o mesmo princípio, mas de maneira mais simples, ao Mongoz?

Foi exatamente isso que aconteceu.

Módulo de Configurações do Mongoz

A forma de usar o objeto de configurações no ORM do Mongoz é através de:

  • MONGOZ_SETTINGS_MODULE variável de ambiente.

Todas as configurações são objetos Pydantic BaseSettings, o que torna mais fácil de usar e substituir quando necessário.

MONGOZ_SETTINGS_MODULE

Por padrão, o Mongoz procura por uma variável de ambiente MONGOZ_SETTINGS_MODULE para executar e aplicar as configurações fornecidas à sua instância.

Se nenhuma MONGOZ_SETTINGS_MODULE for encontrada, o Mongoz usa as suas próprias configurações internas, que são amplamente aplicadas em todo o sistema.

Configurações personalizadas

Ao criar sua própria classe de configurações personalizadas, deve herdar de MongozSettings, que é a classe responsável por todas as configurações internas do Mongoz e que podem ser estendidas e substituídas com facilidade.

Algo como isto:

myproject/configs/settings.py
from typing import List

from mongoz import MongozSettings


class MyCustomSettings(MongozSettings):
    """
    My settings overriding default values and add new ones.
    """

    parsed_ids: List[str] = ["id", "pk"]

Super simples, certo? Sim, e essa é a intenção. O Mongoz não tem muitas configurações, mas tem algumas que são usadas em todo o código e que podem ser facilmente substituídas.

Danger

Tenha cuidado ao substituir as configurações, pois pode quebrar a funcionalidade. É por sua conta e risco.