Skip to content

Home

Modelo de Vendas O modelo Vendas é utilizado para representar os dados das vendas realizadas. Ele inclui informações sobre o comprador, data da compra, valor, quantidade e categoria do produto.

Documentação do Modelo

Bases: BaseModel

Modelo de dados para as vendas.

Parameters:

Name Type Description Default
email EmailStr

email do comprador

required
data datetime

data da compra

required
valor PositiveFloat

valor da compra

required
quantidade PositiveInt

quantidade de produtos

required
produto ProdutoEnum

categoria do produto

required
Source code in sistema_crm/contrato.py
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
class Vendas(BaseModel):
    """
    Modelo de dados para as vendas.

    Args:
        email (EmailStr): email do comprador
        data (datetime): data da compra
        valor (PositiveFloat): valor da compra
        quantidade (PositiveInt): quantidade de produtos
        produto (ProdutoEnum): categoria do produto
    """
    email: EmailStr
    data: datetime
    valor: PositiveFloat
    quantidade: PositiveInt
    produto: ProdutoEnum

    @field_validator('data')
    def validar_intervalo_data(cls, v):
        # Define o intervalo de datas permitido
        inicio_intervalo = datetime(2024, 9, 1)  # 01/09/2024
        fim_intervalo = datetime(2024, 9, 12, 23, 59, 59)  # 12/09/2024 até 23:59:59

        # Verifica se a data está dentro do intervalo permitido
        if not (inicio_intervalo <= v <= fim_intervalo):
            raise ValueError("A data da venda deve estar entre 01/09/2024 e 12/09/2024.")
        return v

    @field_validator('produto')
    def categoria_deve_estar_no_enum(cls, v):
        return v