alteracao_tipo_alimentacao

admin

class AlteracaoCardapioModelAdmin(model, admin_site)[source]

Bases: ModelAdmin

Admin do Django para solicitações de alteração do tipo de alimentação.

Configura a listagem administrativa de AlteracaoCardapio, exibindo informações da escola e do período da solicitação, habilitando busca textual, filtros por motivo e rastros administrativos e mantendo o campo escola apenas para leitura.

list_display

Colunas exibidas na listagem do admin. Valores: ("escola__codigo_eol", "escola__nome", "data_inicial", "data_final", "status", "DESCRICAO").

Type:

tuple[str, …]

search_fields

Campos consultados pela busca textual do admin. Valores: ("uuid", "escola__nome", "escola__codigo_eol").

Type:

tuple[str, …]

search_help_text

Texto auxiliar exibido abaixo do campo de busca. Valores: "Pesquisar por: UUID, nome da escola, codigo eol da escola".

Type:

str

list_filter

Filtros laterais disponíveis na listagem. Valores: ("motivo__nome", "status", "rastro_lote", "rastro_terceirizada").

Type:

tuple[str, …]

readonly_fields

Campos somente leitura no formulário. Valores: ("escola",).

Type:

tuple[str, …]

behaviors

class EhAlteracaoCardapio(*args, **kwargs)[source]

Bases: Model

Classe abstrata com campos e consultas comuns das solicitações de alteração de cardápio.

Centraliza os relacionamentos compartilhados entre os modelos de alteração de cardápio e expõe managers especializados para consultas por período, além de um método utilitário para recuperar rascunhos de um usuário.

objects

Manager padrão do Django.

Type:

django.db.models.Manager

desta_semana

Manager para solicitações cuja data esteja na semana atual.

Type:

AlteracoesCardapioDestaSemanaManager

deste_mes

Manager para solicitações cuja data esteja no mês atual.

Type:

AlteracoesCardapioDesteMesManager

vencidos

Manager para solicitações com período já encerrado.

Type:

AlteracoesCardapioVencidaManager

do_mes_corrente

Manager para solicitações do mês corrente, conforme regra de negócio do módulo.

Type:

AlteracoesCardapioDoMesCorrenteManager

escola: escola.Escola | None

Origem: EhAlteracaoCardapio

Descrição: Escola que efetuou a solicitação de alteração do tipo de alimentação. O campo ainda permite null e blank

escola_id: int | None

Origem: EhAlteracaoCardapio

Descrição: Identificador da escola que efetuou a solicitação de alteração do tipo de alimentação.

Corresponde à chave primária de escola.Escola. Pode ser None (campo permite null e blank).

motivo: cardapio.MotivoAlteracaoCardapio | None

Origem: EhAlteracaoCardapio

Descrição: Motivo associado à solicitação de alteração do tipo de alimentação. O campo ainda permite null e blank

motivo_id: int | None

Origem: EhAlteracaoCardapio

Descrição: Identificador do motivo associado à solicitação de alteração do tipo de alimentação.

Motivos disponíveis:
  • Lanche Emergencial

  • LPR (Lanche por Refeição)

  • RPL (Refeição por Lanche)

Corresponde à chave primária de MotivoAlteracaoCardapio. Pode ser None (campo permite null e blank).

class Meta[source]

Bases: object

abstract = False
classmethod get_rascunhos_do_usuario(usuario)[source]

Retorna os rascunhos criados por um usuário.

Parameters:

usuario (perfil.Usuario) – Usuário autor dos rascunhos.

Returns:

Conjunto de solicitações em status RASCUNHO criadas pelo usuário informado.

Return type:

django.db.models.QuerySet

models

class AlteracaoCardapio(*args, **kwargs)[source]

Bases: ExportModelOperationsMixin('alteracao_cardapio'), CriadoEm, CriadoPor, TemChaveExterna, IntervaloDeDia, TemObservacao, FluxoAprovacaoPartindoDaEscola, TemIdentificadorExternoAmigavel, Logs, TemPrioridade, SolicitacaoForaDoPrazo, EhAlteracaoCardapio, TemTerceirizadaConferiuGestaoAlimentacao

Modelo responsável por armazenar Solicitações de Alteração do Tipo de Alimentação genéricas.

Representa uma solicitação formal de troca do tipo de alimentação servida em determinado(s) período(s) escolar(es), com data inicial e final delimitadas.

O que é uma Alteração do Tipo de Alimentação?

É uma solicitação de troca do tipo de alimentação servida em um determinado dia.

Quais os tipos de Alteração do Tipo de Alimentação possíveis?

  • RPL (Refeição por Lanche)
    • substitui a refeição do dia por um lanche

    • cada escola só pode pedir uma RPL por mês

    • exemplo: no dia dos aniversariantes do mês, a escola pode solicitar uma RPL para substituir a refeição por um lanche especial.

    • na Medição Inicial, o lançamento de lanche neste dia é dobrado e a refeição é zerada.

  • LPR (Lanche por Refeição)
    • substitui o lanche do dia por uma refeição

    • não há limite de solicitações de LPR por mês

    • na Medição Inicial, o lançamento de lanche neste dia é zerado e a refeição é dobrada.

    • esta solicitação raramente é utilizada, pois as escolas preferem lanche que refeição.

  • Lanche Emergencial
    • substitui todas as alimentações do dia por lanche emergencial (no passado, era chamado de Merenda Seca)

    • única solicitação que pode ser feita sem o mínimo de 2 dias úteis de antecedência

    • normalmente requerida quando acontece algum imprevisto que inviabiliza a preparação da refeição, como falta de energia ou água, ou atraso na entrega dos alimentos.

Tipos de unidade contempladas:
  • EMEF

  • EMEI

  • CIEJA

  • EMEBS

Exceções não contempladas:
  • CEI

  • CEMEI

DESCRICAO

Descrição legível do tipo de solicitação. Utilizado no dashboard de Gestão de Alimentação para identificar o tipo de cada solicitação. O valor é a string "Alteração do Tipo de Alimentação".

Type:

str

criado_em: datetime.datetime

Origem: dados_comuns/behaviors.py

Descrição: Timestamp preenchido automaticamente na criação do registro.

criado_por: perfil.Usuario | None

Origem: dados_comuns/behaviors.py

Descrição: Usuario responsavel pela criacao do registro. O campo ainda permite null e blank

(perfil.Usuario | None): Usuario responsavel pela criacao doregistro. O campo ainda permite null e blank

criado_por_id: int | None

Origem: dados_comuns/behaviors.py

Descrição: Identificador do usuário responsável pela criação do registro.

Corresponde à chave primária de perfil.Usuario. Pode ser None (campo permite null e blank).

data_inicial: datetime.date

Origem: dados_comuns/behaviors.py

Descrição: Data inicial do período de validade da solicitação de alteração do tipo de alimentação.

Caso data_inicial é igual a data_final, a solicitação de alteração do tipo de alimentação é válida apenas para um dia específico. Caso data_inicial seja anterior a data_final, a solicitação de alteração do tipo de alimentação é válida para um período de dias.

data_final: datetime.date

Origem: dados_comuns/behaviors.py

Descrição: Data final do período de validade da solicitação de alteração do tipo de alimentação.

Caso data_inicial é igual a data_final, a solicitação de alteração do tipo de alimentação é válida apenas para um dia específico. Caso data_inicial seja anterior a data_final, a solicitação de alteração do tipo de alimentação é válida para um período de dias.

datas_intervalo: django.db.models.QuerySet[DataIntervaloAlteracaoCardapio]

Relação reversa 1:N com DataIntervaloAlteracaoCardapio.

Representa todas as datas associadas à alteração de cardápio, individualmente.

Essa relação é especialmente útil para casos em que a alteração de cardápio abrange um intervalo de dias, permitindo acessar cada dia específico dentro desse intervalo.

Modelo criado, especificamente, para por cancelar dias individualmente de uma solicitação de alteração do tipo de alimentação que abrange um intervalo de dias.

escola: escola.Escola | None

Origem: EhAlteracaoCardapio

Descrição: Escola que efetuou a solicitação de alteração do tipo de alimentação. O campo ainda permite null e blank

escola_id: int | None

Origem: EhAlteracaoCardapio

Descrição: Identificador da escola que efetuou a solicitação de alteração do tipo de alimentação.

Corresponde à chave primária de escola.Escola. Pode ser None (campo permite null e blank).

foi_solicitado_fora_do_prazo: bool

Origem: dados_comuns/behaviors.py

Descrição: Indica se a solicitação foi criada fora do prazo regular de antecedência.

Quando True, significa que o pedido foi criado com 5 dias úteis ou menos de antecedência.

id: int

Origem: django.db.models.Model

Descrição: Identificador interno do registro no banco de dados.

Corresponde à chave primária gerada automaticamente pelo Django.

motivo: cardapio.MotivoAlteracaoCardapio | None

Origem: EhAlteracaoCardapio

Descrição: Motivo associado à solicitação de alteração do tipo de alimentação. O campo ainda permite null e blank

motivo_id: int | None

Origem: EhAlteracaoCardapio

Descrição: Identificador do motivo associado à solicitação de alteração do tipo de alimentação.

Corresponde à chave primária de MotivoAlteracaoCardapio. Pode ser None (campo permite null e blank).

observacao: str

Origem: dados_comuns/behaviors.py

Descrição: Campo de texto livre para registrar observações complementares da solicitação.

Pode ser uma string vazia, pois o campo permite blank.

substituicoes_periodo_escolar: django.db.models.QuerySet[SubstituicaoAlimentacaoNoPeriodoEscolar]

Relação reversa 1:N com SubstituicaoAlimentacaoNoPeriodoEscolar.

Representa todas as substituições de tipo de alimentação vinculadas à solicitação, organizadas por período escolar.

Cada registro associado define o período escolar, os tipos de alimentação substituídos, os tipos resultantes e a quantidade de alunos impactados.

rastro_dre: escola.DiretoriaRegional | None

Origem: FluxoAprovacaoPartindoDaEscola

Descrição: Diretoria Regional de Educação vinculada ao rastro histórico da solicitação.

Representa a DRE da escola no momento em que o rastro do pedido foi salvo.

rastro_dre_id: int | None

Origem: FluxoAprovacaoPartindoDaEscola

Descrição: Identificador da DRE vinculada ao rastro histórico da solicitação.

Corresponde à chave primária de escola.DiretoriaRegional. Pode ser None (campo permite null e blank).

rastro_escola: escola.Escola | None

Origem: FluxoAprovacaoPartindoDaEscola

Descrição: Escola registrada no rastro histórico da solicitação.

Representa a escola vinculada ao pedido no momento em que o rastro foi salvo.

rastro_escola_id: int | None

Origem: FluxoAprovacaoPartindoDaEscola

Descrição: Identificador da escola registrada no rastro histórico da solicitação.

Corresponde à chave primária de escola.Escola. Pode ser None (campo permite null e blank).

rastro_lote: escola.Lote | None

Origem: FluxoAprovacaoPartindoDaEscola

Descrição: Lote registrado no rastro histórico da solicitação.

Representa o lote da escola no momento em que o rastro foi salvo.

rastro_lote_id: int | None

Origem: FluxoAprovacaoPartindoDaEscola

Descrição: Identificador do lote registrado no rastro histórico da solicitação.

Corresponde à chave primária de escola.Lote. Pode ser None (campo permite null e blank).

rastro_terceirizada: terceirizada.Terceirizada | None

Origem: FluxoAprovacaoPartindoDaEscola

Descrição: Terceirizada registrada no rastro histórico da solicitação.

Representa a empresa terceirizada vinculada ao lote da escola no momento em que o rastro foi salvo.

rastro_terceirizada_id: int | None

Origem: FluxoAprovacaoPartindoDaEscola

Descrição: Identificador da terceirizada registrada no rastro histórico da solicitação.

Corresponde à chave primária de terceirizada.Terceirizada. Pode ser None (campo permite null e blank).

status: str

Origem: django_xworkflows.models.StateField

Descrição: Estado atual da solicitação dentro do workflow de aprovação partindo da escola.

Armazena um dos valores definidos em PedidoAPartirDaEscolaWorkflow, como RASCUNHO, DRE_A_VALIDAR ou CODAE_AUTORIZADO.

terceirizada_conferiu_gestao: bool

Origem: dados_comuns/behaviors.py

Descrição: Indica se a terceirizada marcou ciência da solicitação na Gestão de Alimentação.

Quando True, registra que a empresa conferiu o pedido sem necessariamente alterar o status do workflow.

get_status_display()

Origem: django_xworkflows.models.StateField

Descrição: Relacionado ao campo status do workflow.

Retorna a representação legível (label) do status atual da instância.

O valor retornado corresponde ao texto definido em states do workflow, sendo mais apropriado para exibição em interfaces (ex: telas e relatórios).

Returns:

Texto legível do status

Return type:

str

Exemplo: CODAE_AUTORIZADO retorna "CODAE autorizou pedido".

uuid: uuid.UUID

Origem: dados_comuns/behaviors.py

Descrição: Identificador único do registro.

Gerado automaticamente no momento da criação, sendo utilizado como identificador externo amigável.

Pode ser utilizado em integrações externas e URLs públicas, evitando a exposição do identificador interno (ID).

DESCRICAO = 'Alteração do Tipo de Alimentação'
codae_autoriza

Autoriza a solicitação de Gestão de Alimentação como CODAE pedida com mais de 5 dias úteis de antecedência. Só é possível autorizar uma solicitação que foi validada pela Diretoria Regional.

Exceção:
  • Alteração do Tipo de Alimentação - Lanche Emergencial

Este método é herdado de django_xworkflows.

Possui um hook (_codae_autoriza_hook) para, após a autorização:
  • criar uma entrada de log específico para esta ação, utilizando o método salvar_log_transicao.

  • enviar e-mail para as partes interessadas notificando sobre a autorização.

codae_autoriza_questionamento

CODAE autoriza a solicitação de Gestão de Alimentação pedida com menos de 5 dias úteis de antecedência, mediante resposta positiva do questionamento para a empresa terceirizada que atende a escola. Só é possível autorizar uma solicitação que foi validada pela Diretoria Regional.

Uma solicitação pode ser autorizada se:
  • teve uma resposta positiva do questionamento pela empresa terceirizada que atende a escola, ou seja, resposta_sim_nao=True no log de questionamento.

Este método é herdado de django_xworkflows.

Possui um hook (_codae_autoriza_hook) para, após a autorização:
  • criar uma entrada de log específico para esta ação, utilizando o método salvar_log_transicao.

  • enviar e-mail para as partes interessadas notificando sobre a autorização.

codae_nega

CODAE nega a solicitação de Gestão de Alimentação. Só é possível negar uma solicitação que foi validada pela Diretoria Regional.

Uma solicitação pode ser negada se, por exemplo:
  • infringir alguma regra do edital

  • tiver algum dado incorreto ou inconsistente (por exemplo, um Kit Lanche não pode ser solicitado para um “passeio” nas dependências da escola. É apenas para passeios externos.)

Este método é herdado de django_xworkflows.

Possui um hook (_codae_recusou_hook) para, após a negação:
  • criar uma entrada de log específico para esta ação, utilizando o método salvar_log_transicao.

  • enviar e-mail para as partes interessadas notificando sobre a negação.

codae_nega_questionamento

CODAE nega a solicitação de Gestão de Alimentação pedida com menos de 5 dias úteis de antecedência. Só é possível negar uma solicitação que foi validada pela Diretoria Regional.

Uma solicitação pode ser negada se:
  • não tiver uma resposta positiva do questionamento pela empresa terceirizada que atende a escola, ou seja, resposta_sim_nao=False no log de questionamento.

Este método é herdado de django_xworkflows.

Possui um hook (_codae_recusou_hook) para, após a negação:
  • criar uma entrada de log específico para esta ação, utilizando o método salvar_log_transicao.

  • enviar e-mail para as partes interessadas notificando sobre a negação.

codae_questiona

CODAE questiona a empresa terceirizada se é possível atender a solicitação de Gestão de Alimentação pedida com menos de 5 dias úteis de antecedência. Só é possível questionar uma solicitação que foi validada pela Diretoria Regional.

Uma solicitação pedida com menos de 5 dias úteis de antecedência não pode ser autorizada imediatamente, pois a empresa terceirizada que atende a escola precisa confirmar se é possível atender a solicitação nesse prazo. Portanto, o CODAE questiona a solicitação para obter essa confirmação.

Exceção (pode ser autorizado imediatamente, sem questionamento):
  • Alteração do Tipo de Alimentação - Lanche Emergencial

Este método é herdado de django_xworkflows.

Possui um hook (_codae_questiona_hook) para, após o questionamento:
  • criar uma entrada de log específico para esta ação, utilizando o método salvar_log_transicao.

property data

Retorna a data mais antiga do intervalo (inicial ou final).

Returns:

Data de início da alteração, ou a data final caso seja anterior.

Return type:

datetime.date

property datas

Retorna todas as datas do intervalo formatadas e concatenadas em uma string.

Returns:

Datas no formato "DD/MM/YYYY" separadas por vírgula e espaço, por exemplo "01/03/2026, 02/03/2026".

Return type:

str

dre_nao_valida

DRE não valida a solicitação de Gestão de Alimentação.

Este método é herdado de django_xworkflows.

Possui um hook (_dre_nao_valida_hook) para, após a não validação:
  • criar uma entrada de log específico para esta ação, utilizando o método salvar_log_transicao.

  • enviar e-mail para as partes interessadas notificando sobre a não validação.

dre_pede_revisao

Deprecado.

Este método é herdado de django_xworkflows.

dre_valida

DRE valida a solicitação de Gestão de Alimentação.

Este método é herdado de django_xworkflows.

Possui um hook (_dre_valida_hook) para, após a validação:
  • criar uma entrada de log específico para esta ação, utilizando o método salvar_log_transicao.

escola_revisa

Deprecado.

Este método é herdado de django_xworkflows.

property existe_dia_cancelado

Verifica se ao menos uma data do intervalo foi cancelada individualmente.

Returns:

True se existir alguma DataIntervaloAlteracaoCardapio com cancelado=True, False caso contrário.

Return type:

bool

property inclusoes

Retorna um atalho para datas_intervalo.

Returns:

Manager reverso das datas do intervalo vinculadas.

Return type:

django.db.models.Manager

inicia_fluxo

Inicia o fluxo da solicitação de Gestão de Alimentação (envia a solicitação para DRE validar).

Só é possível iniciar uma solicitação que esteja em RASCUNHO.

Este método é herdado de django_xworkflows.

Possui um hook (_inicia_fluxo_hook) para, após o início do fluxo:
  • definir o campo foi_solicitado_fora_do_prazo com base na prioridade da solicitação.

  • salvar os rastros históricos da solicitação (escola, DRE, lote e terceirizada).

  • criar uma entrada de log específico para esta ação, utilizando o método salvar_log_transicao.

property numero_alunos

Retorna o total de alunos somando todas as substituições vinculadas.

Returns:

Soma da quantidade de alunos em todas as SubstituicaoAlimentacaoNoPeriodoEscolar desta alteração, ou None se não houver substituições.

Return type:

int | None

property path

Retorna o caminho relativo do relatório desta solicitação no frontend.

Returns:

URL relativa no formato "alteracao-do-tipo-de-alimentacao/relatorio?uuid=<uuid>&tipoSolicitacao=solicitacao-normal".

Return type:

str

salvar_log_transicao(status_evento, usuario, **kwargs)[source]

Registra no log a transição de status da solicitação.

Cria uma entrada em LogSolicitacoesUsuario associada a esta alteração de cardápio.

Parameters:
  • status_evento (int) – Código do evento de status.

  • usuario (django.contrib.auth.models.AbstractUser) – Usuário responsável pela transição.

  • **kwargs

    Parâmetros opcionais do log. justificativa (str): Texto justificando a transição. resposta_sim_nao (bool): Indica resposta booleana associada

    ao log. O padrão é False.

Returns:

None

solicitacao_dict_para_relatorio(label_data, data_log, instituicao)[source]

Serializa os dados da solicitação para uso em relatórios.

Retorna um dicionário com as informações relevantes da alteração de cardápio, incluindo rastreamentos históricos, datas, motivo e substituições.

Parameters:
  • label_data (str) – Rótulo descritivo para o campo de data no relatório.

  • data_log (datetime.date) – Data do log de referência exibida no relatório.

  • instituicao (object) – Instituição solicitante, mantida por compatibilidade de assinatura.

Returns:

Dicionário com os campos utilizados no relatório.

Return type:

dict

property substituicoes

Retorna um atalho para substituicoes_periodo_escolar.

Returns:

Manager reverso das substituições de alimentacao vinculadas.

Return type:

django.db.models.Manager

property substituicoes_dict

Retorna as substituições de alimentação serializadas como lista de dicionários.

Cada item da lista representa uma SubstituicaoAlimentacaoNoPeriodoEscolar com os campos periodo, alteracao_de e alteracao_para.

Returns:

Lista de dicionários no formato {"periodo": str, "alteracao_de": str, "alteracao_para": str}.

Return type:

list[dict]

property template_mensagem

Retorna o assunto e o corpo HTML do template de mensagem de alteração de cardápio.

Busca o TemplateMensagem do tipo ALTERACAO_CARDAPIO e retorna seus campos de assunto e conteúdo HTML.

Returns:

Tupla (assunto, corpo_html) do template.

Return type:

tuple[str, str]

Raises:

TemplateMensagem.DoesNotExist – Caso não exista template do tipo ALTERACAO_CARDAPIO cadastrado.

terceirizada_responde_questionamento

A empresa terceirizada responde ao questionamento da CODAE sobre a possibilidade de atendimento da solicitação.

Só é possível responder um questionamento quando a solicitação está em CODAE_QUESTIONADO.

Caso a empresa responda que sim (resposta_sim_nao=True), a solicitação pode ser autorizada normalmente pela CODAE, mesmo tendo sido pedida com menos de 5 dias úteis de antecedência.

Caso a empresa responda que não (resposta_sim_nao=False), a solicitação deve ser negada pela CODAE, pois a empresa, pelo contrato, tem o direito de negar solicitações pedidas com menos de 5 dias úteis de antecedência.

Este método é herdado de django_xworkflows.

Possui um hook (_terceirizada_responde_questionamento_hook) para, após a resposta:
  • criar uma entrada de log específico para esta ação, utilizando o método salvar_log_transicao.

  • registrar no log a justificativa informada e a resposta booleana em resposta_sim_nao.

terceirizada_toma_ciencia

Deprecado.

Este método é herdado de django_xworkflows.

Antigamente, este método era utilizado para registrar a ciência da empresa terceirizada sobre a solicitação.

O status final do fluxo era TERCEIRIZADA_TOMOU_CIENCIA.

Atualmente:
  • o status final é CODAE_AUTORIZADO.

  • o status TERCEIRIZADA_TOMOU_CIENCIA foi deprecado.

  • a empresa toma ciência sem alterar o status da solicitação, através do campo terceirizada_conferiu_gestao.

property tipo

Retorna a descrição legível do tipo da solicitação.

Returns:

String "Alteração do Tipo de Alimentação".

Return type:

str

class DataIntervaloAlteracaoCardapio(*args, **kwargs)[source]

Bases: CanceladoIndividualmente, CriadoEm, TemData, TemChaveExterna, TemIdentificadorExternoAmigavel

Representa uma data específica pertencente ao intervalo de uma AlteracaoCardapio.

Permite que cada dia do intervalo seja tratado individualmente, possibilitando cancelamentos pontuais sem invalidar toda a solicitação.

alteracao_cardapio: cardapio.AlteracaoCardapio

Descrição: Alteração de cardápio à qual esta data pertence.

alteracao_cardapio_id: int

Origem: django.db.models.Model

Descrição: Identificador da solicitação de alteração do tipo de alimentação à qual esta data pertence.

Corresponde à chave primária de AlteracaoCardapio.

cancelado: bool

Origem: dados_comuns/behaviors.py

Descrição: Indica se esta data específica do intervalo foi cancelada individualmente.

Quando True, a solicitação principal continua existindo, mas este dia deixa de valer dentro do intervalo originalmente solicitado.

cancelado_em: datetime.datetime | None

Origem: dados_comuns/behaviors.py

Descrição: Data e hora em que o cancelamento individual desta data foi registrado.

Pode ser None quando a data ainda não foi cancelada.

cancelado_justificativa: str

Origem: dados_comuns/behaviors.py

Descrição: Justificativa informada para o cancelamento individual desta data.

Permanece vazio quando não houver cancelamento ou quando nenhuma justificativa tiver sido registrada.

cancelado_por: perfil.Usuario | None

Origem: dados_comuns/behaviors.py

Descrição: Usuário responsável por cancelar individualmente esta data do intervalo.

Pode ser None quando o cancelamento não foi realizado.

cancelado_por_id: int | None

Origem: django.db.models.ForeignKey

Descrição: Identificador do usuário responsável pelo cancelamento individual desta data.

Corresponde à chave primária de perfil.Usuario. Pode ser None quando não houver usuário associado ao cancelamento.

criado_em: datetime.datetime

Origem: dados_comuns/behaviors.py

Descrição: Timestamp preenchido automaticamente na criação do registro.

data: datetime.date

Origem: dados_comuns/behaviors.py

Descrição: Data específica coberta pela solicitação de alteração do tipo de alimentação.

Cada registro de DataIntervaloAlteracaoCardapio representa um único dia dentro do intervalo da solicitação principal.

id: int

Origem: django.db.models.Model

Descrição: Identificador interno do registro no banco de dados.

Corresponde à chave primária gerada automaticamente pelo Django.

uuid: uuid.UUID

Origem: dados_comuns/behaviors.py

Descrição: Identificador único do registro.

Gerado automaticamente no momento da criação, sendo utilizado como identificador externo amigável.

class MotivoAlteracaoCardapio(*args, **kwargs)[source]

Bases: ExportModelOperationsMixin('motivo_alteracao_cardapio'), Nomeavel, TemChaveExterna, Ativavel

Representa o motivo pelo qual uma AlteracaoCardapio foi solicitada.

Utilizado para categorizar a razão da troca de tipo de alimentação.

Motivos possíveis:
  • Lanche Emergencial

  • RPL (Refeição por Lanche)

  • LPR (Lanche por Refeição)

Os motivos são compartilhados entre as Alterações do Tipo de Alimentação:
  • Alteração Padrão (EMEF, EMEI, CIEJA, EMEBS, etc.)

  • Alteração CEI (CEI DIRET, CEU CEI, CCI/CIPS)

  • Alteração CEMEI (CEMEI, CEU CEMEI)

nome: str

Origem: dados_comuns/behaviors.py

Descrição: Nome do motivo utilizado para classificar a solicitação de alteração do tipo de alimentação.

Exemplos esperados neste contexto incluem Lanche Emergencial, RPL (Refeição por Lanche) e LPR (Lanche por Refeição).

alteracaocardapio_set: django.db.models.QuerySet[AlteracaoCardapio]

Descrição: Relação reversa com as solicitações de AlteracaoCardapio associadas a este motivo.

Permite acessar todas as alterações do tipo de alimentação que referenciam este motivo.

alteracaocardapiocei_set: django.db.models.QuerySet[AlteracaoCardapioCEI]

Descrição: Relação reversa com as solicitações de AlteracaoCardapioCEI associadas a este motivo.

Permite acessar todas as alterações do tipo de alimentação de CEI que utilizam este motivo.

alteracaocardapiocemei_set: django.db.models.QuerySet[AlteracaoCardapioCEMEI]

Descrição: Relação reversa com as solicitações de AlteracaoCardapioCEMEI associadas a este motivo.

Permite acessar todas as alterações do tipo de alimentação de CEMEI que utilizam este motivo.

ativo: bool

Origem: dados_comuns/behaviors.py

Descrição: Indica se o motivo está ativo para uso no sistema.

Quando False, o motivo permanece cadastrado, mas não deve ser considerado disponível para novos usos.

id: int

Origem: django.db.models.Model

Descrição: Identificador interno do registro no banco de dados.

Corresponde à chave primária gerada automaticamente pelo Django.

uuid: uuid.UUID

Origem: dados_comuns/behaviors.py

Descrição: Identificador único do registro.

Gerado automaticamente no momento da criação, sendo utilizado como identificador externo.

class SubstituicaoAlimentacaoNoPeriodoEscolar(*args, **kwargs)[source]

Bases: ExportModelOperationsMixin('substituicao_alimentacao_periodo_escolar'), TemChaveExterna

Representa uma substituição de tipo de alimentação em um período escolar específico.

Está vinculada a uma AlteracaoCardapio e define quais tipos de alimentação serão trocados por quais outros em um determinado período escolar, bem como a quantidade de alunos afetados.

Exemplos:
  • no período INTEGRAL, ao selecionar motivo Lanche Emergencial, substituir REFEIÇÃO por LANCHE EMERGENCIAL para 50 alunos.

  • no período MANHA, ao selecionar motivo LPR, substituir LANCHE por REFEIÇÃO para 30 alunos.

  • no período TARDE, ao selecionar motivo RPL, substituir REFEIÇÃO por LANCHE para 20 alunos.

alteracao_cardapio: cardapio.AlteracaoCardapio | None

Origem: django.db.models.ForeignKey

Descrição: Solicitação de alteração do tipo de alimentação à qual esta substituição pertence.

Pode ser None porque o campo permite null e blank.

alteracao_cardapio_id: int | None

Origem: django.db.models.ForeignKey

Descrição: Identificador da solicitação de alteração do tipo de alimentação associada a esta substituição.

Corresponde à chave primária de AlteracaoCardapio. Pode ser None porque o campo permite null e blank.

id: int

Origem: django.db.models.Model

Descrição: Identificador interno do registro no banco de dados.

Corresponde à chave primária gerada automaticamente pelo Django.

periodo_escolar: escola.PeriodoEscolar

Origem: django.db.models.ForeignKey

Descrição: Período escolar ao qual a substituição de alimentação se aplica.

Exemplo: manhã, tarde, noite ou integral, conforme os períodos cadastrados para a unidade.

periodo_escolar_id: int

Origem: django.db.models.ForeignKey

Descrição: Identificador do período escolar ao qual esta substituição se aplica.

Corresponde à chave primária de escola.PeriodoEscolar.

qtd_alunos: int

Origem: django.db.models.PositiveSmallIntegerField

Descrição: Quantidade de alunos impactados por esta substituição de alimentação no período escolar informado.

tipos_alimentacao_de: django.db.models.Manager[TipoAlimentacao]

Origem: django.db.models.ManyToManyField

Descrição: Conjunto de tipos de alimentação originais que serão substituídos nesta solicitação.

Trata-se de uma relação muitos-para-muitos com TipoAlimentacao.

tipos_alimentacao_para: django.db.models.Manager[TipoAlimentacao]

Origem: django.db.models.ManyToManyField

Descrição: Conjunto de tipos de alimentação que passarão a ser oferecidos no lugar dos tipos originais.

Trata-se de uma relação muitos-para-muitos com TipoAlimentacao.

uuid: uuid.UUID

Origem: dados_comuns/behaviors.py

Descrição: Identificador único do registro.

Gerado automaticamente no momento da criação, sendo utilizado como identificador externo.

api

api/serializers

class AlteracaoCardapioSerializer(*args, **kwargs)[source]

Bases: AlteracaoCardapioSerializerBase

Serializa a representacao detalhada de uma alteracao de cardapio.

Inclui substituicoes por periodo, datas do intervalo, motivo, escola, logs e dados de rastreabilidade usados nas respostas completas da API.

Viewsets que utilizam este serializer:
  • AlteracoesCardapioViewSet: retornado por get_serializer_class() em todas as acoes de leitura e nas actions customizadas que respondem com o objeto serializado, exceto create, update e partial_update.

class Meta[source]

Bases: object

exclude = ('id',)
model

alias of AlteracaoCardapio

class AlteracaoCardapioSerializerBase(*args, **kwargs)[source]

Bases: ModelSerializer

Define os campos comuns das respostas de alteracao de cardapio.

Reune os relacionamentos e campos calculados compartilhados pelos serializers de leitura de AlteracaoCardapio.

Viewsets que utilizam este serializer:
  • Nenhum diretamente.

  • Uso indireto em AlteracoesCardapioViewSet, como classe base de AlteracaoCardapioSerializer.

class AlteracaoCardapioSimplesSerializer(*args, **kwargs)[source]

Bases: ModelSerializer

Serializa uma visao resumida de alteracao de cardapio.

Remove campos mais pesados e relacionamentos aninhados para atender listagens que precisam de um payload menor.

Viewsets que utilizam este serializer:
  • AlteracoesCardapioViewSet: uso direto na action solicitacoes_dre.

class Meta[source]

Bases: object

exclude = ('id', 'criado_por', 'escola', 'motivo')
model

alias of AlteracaoCardapio

class MotivoAlteracaoCardapioSerializer(*args, **kwargs)[source]

Bases: ModelSerializer

Serializa motivos ativos de alteracao do tipo de alimentacao.

Expoe os campos publicos de MotivoAlteracaoCardapio usados para listar e embutir o motivo selecionado em respostas de solicitacoes.

Viewsets que utilizam este serializer:
  • MotivosAlteracaoCardapioViewSet: uso direto como serializer_class nas acoes list e retrieve.

  • AlteracoesCardapioViewSet: uso indireto, aninhado em AlteracaoCardapioSerializer e retornado nas respostas que usam esse serializer.

class Meta[source]

Bases: object

exclude = ('id',)
model

alias of MotivoAlteracaoCardapio

class SubstituicoesAlimentacaoNoPeriodoEscolarSerializer(*args, **kwargs)[source]

Bases: SubstituicoesAlimentacaoNoPeriodoEscolarSerializerBase

Serializa substituicoes completas de alimentacao por periodo escolar.

Complementa o serializer base com os tipos de alimentacao de destino para representar cada item da lista substituicoes de uma alteracao.

Viewsets que utilizam este serializer:
  • Nenhum diretamente.

  • Uso indireto em AlteracoesCardapioViewSet, aninhado em AlteracaoCardapioSerializer nas respostas de leitura.

class Meta[source]

Bases: object

exclude = ('id',)
model

alias of SubstituicaoAlimentacaoNoPeriodoEscolar

class SubstituicoesAlimentacaoNoPeriodoEscolarSerializerBase(*args, **kwargs)[source]

Bases: ModelSerializer

Define os campos base de substituicoes por periodo escolar.

Centraliza a serializacao comum de periodo escolar, UUID da alteracao de cardapio e tipos de alimentacao de origem.

Viewsets que utilizam este serializer:
  • Nenhum diretamente.

  • Uso indireto em AlteracoesCardapioViewSet, por meio de SubstituicoesAlimentacaoNoPeriodoEscolarSerializer aninhado em AlteracaoCardapioSerializer.

api/serializers_create

class AlteracaoCardapioSerializerCreate(*args, **kwargs)[source]

Bases: AlteracaoCardapioSerializerCreateBase

Serializa a criacao e atualizacao completas de alteracoes de cardapio.

Valida datas e regras de negocio, resolve relacionamentos por UUID e cria as substituicoes e datas do intervalo associadas ao pedido.

Viewsets que utilizam este serializer:
  • AlteracoesCardapioViewSet: retornado por get_serializer_class() nas actions create, update e partial_update.

class Meta[source]

Bases: object

exclude = ('id', 'status')
model

alias of AlteracaoCardapio

serializer_substituicao

alias of SubstituicoesAlimentacaoNoPeriodoEscolarSerializerCreate

create(validated_data)[source]

Cria uma alteracao de cardapio completa com datas e substituicoes.

Parameters:

validated_data (dict) – Dados validados da solicitacao, incluindo listas aninhadas de substituicoes e datas_intervalo.

Returns:

Instancia criada com seus relacionamentos.

Return type:

AlteracaoCardapio

Raises:

ValidationError – Quando houver duplicidade indevida de solicitacao de Lanche Emergencial.

criar_datas_intervalo(datas_intervalo, instance)[source]

Cria as datas individuais do intervalo vinculadas a uma solicitacao.

Para pedidos de Lanche Emergencial, aplica validacoes extras para dias letivos e ignora dias sem atividade escolar fora dos meses de ferias.

Parameters:
  • datas_intervalo (list[dict]) – Datas validadas a serem persistidas.

  • instance (AlteracaoCardapio) – Solicitacao dona das datas.

Returns:

None

Raises:

ValidationError – Quando uma solicitacao de Lanche Emergencial nao possui ao menos um dia letivo fora dos meses de ferias.

criar_substituicoes(substituicoes, instance)[source]

Cria as substituicoes de alimentacao vinculadas a uma solicitacao.

Parameters:
  • substituicoes (list[dict]) – Itens validados com periodo escolar e tipos de alimentacao de origem e destino.

  • instance (AlteracaoCardapio) – Solicitacao dona das substituicoes.

Returns:

None

datas_nos_meses_de_ferias(datas_intervalo)[source]

Verifica se o intervalo toca algum mes considerado de ferias.

Meses de férias:
  • Janeiro: período de férias escolares de verão.

  • Julho: período de férias escolares de inverno.

  • Dezembro: período de férias escolares de verão e festas de fim de ano.

Parameters:

datas_intervalo (list[dict]) – Lista de itens com a chave data.

Returns:

True quando a primeira ou a ultima data do intervalo esta em janeiro, julho ou dezembro.

Return type:

bool

update(instance, validated_data)[source]

Atualiza uma alteracao de cardapio recriando datas e substituicoes.

Parameters:
  • instance (AlteracaoCardapio) – Instancia existente a ser atualizada.

  • validated_data (dict) – Dados validados da requisicao.

Returns:

Instancia atualizada com seus relacionamentos recriados.

Return type:

AlteracaoCardapio

Raises:

ValidationError – Quando houver duplicidade indevida de solicitacao de Lanche Emergencial.

validate(attrs)[source]

Aplica as validacoes de negocio da solicitacao de alteracao.

Parameters:

attrs (dict) – Dados normalizados pelo serializer antes da criacao ou atualizacao da instancia.

Returns:

Os mesmos atributos recebidos, apos passarem pelas validacoes de consistencia e regras de negocio.

Return type:

dict

Raises:

ValidationError – Quando datas, motivo ou substituicoes violam as regras do dominio.

class AlteracaoCardapioSerializerCreateBase(*args, **kwargs)[source]

Bases: ModelSerializer

Define os campos comuns de escrita para alteracoes de cardapio.

Resolve referencias por UUID de escola e motivo e concentra a logica basica de criacao e atualizacao das substituicoes vinculadas.

Viewsets que utilizam este serializer:
  • Nenhum diretamente.

  • Uso indireto em AlteracoesCardapioViewSet, como classe base de AlteracaoCardapioSerializerCreate nas actions create, update e partial_update.

create(validated_data)[source]

Cria uma alteracao de cardapio usando a estrategia base do serializer.

Parameters:

validated_data (dict) – Dados validados da solicitacao, contendo a lista de substituicoes ja validada.

Returns:

Instancia criada com as substituicoes vinculadas.

Return type:

AlteracaoCardapio

update(instance, validated_data)[source]

Atualiza uma alteracao de cardapio recriando suas substituicoes.

Parameters:
  • instance (AlteracaoCardapio) – Instancia a ser atualizada.

  • validated_data (dict) – Dados validados recebidos na requisicao.

Returns:

Instancia atualizada e salva.

Return type:

AlteracaoCardapio

class DatasIntervaloAlteracaoCardapioSerializerCreateSerializer(*args, **kwargs)[source]

Bases: ModelSerializer

Serializa as datas individuais do intervalo na escrita da solicitacao.

Recebe a referencia da alteracao de cardapio por UUID quando necessario e persiste cada DataIntervaloAlteracaoCardapio associada ao pedido.

Viewsets que utilizam este serializer:
  • Nenhum diretamente.

  • Uso indireto em AlteracoesCardapioViewSet, aninhado em AlteracaoCardapioSerializerCreate nas actions create, update e partial_update.

  • Uso indireto em AlteracoesCardapioViewSet, aninhado em AlteracaoCardapioSerializer nas respostas detalhadas de leitura.

class Meta[source]

Bases: object

exclude = ('id',)
model

alias of DataIntervaloAlteracaoCardapio

create(validated_data)[source]

Cria um registro de data individual do intervalo da solicitacao.

Parameters:

validated_data (dict) – Dados validados da data do intervalo.

Returns:

Instancia criada.

Return type:

DataIntervaloAlteracaoCardapio

class SubstituicoesAlimentacaoNoPeriodoEscolarSerializerCreate(*args, **kwargs)[source]

Bases: SubstituicoesAlimentacaoNoPeriodoEscolarSerializerCreateBase

Serializa a escrita completa de substituicoes por periodo escolar.

Complementa o serializer base com a alteracao de cardapio de destino e os tipos de alimentacao para os quais a refeicao sera convertida.

Viewsets que utilizam este serializer:
  • Nenhum diretamente.

  • Uso indireto em AlteracoesCardapioViewSet, aninhado em AlteracaoCardapioSerializerCreate nas actions create, update e partial_update.

class Meta[source]

Bases: object

exclude = ('id',)
model

alias of SubstituicaoAlimentacaoNoPeriodoEscolar

create(validated_data)[source]

Cria uma substituicao de alimentacao com relacionamentos many-to-many.

Parameters:

validated_data (dict) – Dados validados pelo serializer, incluindo tipos_alimentacao_de e tipos_alimentacao_para.

Returns:

Instancia criada com os tipos de alimentacao de origem e destino vinculados.

Return type:

SubstituicaoAlimentacaoNoPeriodoEscolar

class SubstituicoesAlimentacaoNoPeriodoEscolarSerializerCreateBase(*args, **kwargs)[source]

Bases: ModelSerializer

Define os campos base para escrita de substituicoes por periodo.

Recebe referencias por UUID para o periodo escolar e para os tipos de alimentacao de origem ao criar ou atualizar uma alteracao de cardapio.

Viewsets que utilizam este serializer:
  • Nenhum diretamente.

  • Uso indireto em AlteracoesCardapioViewSet, por meio de SubstituicoesAlimentacaoNoPeriodoEscolarSerializerCreate aninhado em AlteracaoCardapioSerializerCreate nas actions create, update e partial_update.

api/validators

precisa_pertencer_a_um_tipo_de_alimentacao(tipos_alimentacao_de, tipo_alimentacao_para, tipo_unidade_escolar, periodo_escolar)[source]

Valida se os tipos de alimentacao pertencem ao contexto informado.

Garante que todos os tipos de alimentacao de origem estejam habilitados para o periodo escolar e tipo de unidade da escola e que o tipo de destino nao esteja repetido entre os tipos substituidos.

Parameters:
  • tipos_alimentacao_de (Iterable[TipoAlimentacao]) – Tipos de alimentacao que serao substituidos.

  • tipo_alimentacao_para (TipoAlimentacao) – Tipo de alimentacao de destino.

  • tipo_unidade_escolar (str) – Tipo de unidade da escola associado ao pedido.

  • periodo_escolar (PeriodoEscolar) – Periodo escolar ao qual a substituicao se aplica.

Returns:

True quando a combinacao e valida.

Return type:

bool

Raises:

ValidationError – Quando algum tipo de origem nao pertence ao contexto de periodo/tipo de unidade ou quando o tipo de destino ja consta entre os tipos substituidos.

valida_duplicidade_solicitacoes_lanche_emergencial(attrs, eh_cemei=False)[source]
Valida se existe alguma solicitação ativa (não é rascunho, nem foi negada ou cancelada) de Lanche Emergencial para a mesma combinação de:
  • escola

  • data

  • periodo escolar

  • tipos de alimentacao de origem.

Caso já exista alguma solicitação ativa que contenha a mesma combinação, a função levanta um ValidationError, impedindo a criação de uma nova solicitação de Lanche Emergencial para a mesma situação.

Parameters:
  • attrs (dict) – Dados validados da solicitacao.

  • eh_cemei (bool, optional) – Define se a consulta deve usar o modelo de substituição do fluxo CEMEI. Default é False.

Returns:

True quando nao ha duplicidade bloqueante ou quando o motivo da solicitacao nao e Lanche Emergencial.

Return type:

bool

Raises:

ValidationError – Quando ja existe uma solicitacao ativa de Lanche Emergencial para a mesma combinacao de data e periodo.

api/viewsets

class AlteracoesCardapioViewSet(**kwargs)[source]

Bases: DataSolicitacaoContextMixin, ModelViewSet

codae_autoriza(request, uuid=None)[source]
codae_nega_solicitacao(request, uuid=None)[source]
codae_questiona_pedido(request, uuid=None)[source]
destroy(request, *args, **kwargs)[source]
diretoria_regional_valida(request, uuid=None)[source]
dre_nao_valida_solicitacao(request, uuid=None)[source]
escola_cancela_pedido(request, uuid=None)[source]
get_permissions()[source]

Instantiates and returns the list of permissions that this view requires.

get_serializer_class()[source]

Return the class to use for the serializer. Defaults to using self.serializer_class.

You may want to override this if you need to provide different serializations depending on the incoming request.

(Eg. admins get full serialization, others get basic serialization)

inicio_de_solicitacao(request, uuid=None)[source]
lookup_field = 'uuid'
minhas_solicitacoes(request)[source]
permission_classes = (<class 'rest_framework.permissions.IsAuthenticated'>,)
queryset = <QuerySet [<AlteracaoCardapio: Alteração de cardápio de: 2022-10-14 para 2022-10-14>, <AlteracaoCardapio: Alteração de cardápio de: 2022-11-18 para 2022-11-18>, <AlteracaoCardapio: Alteração de cardápio de: 2022-12-08 para 2022-12-08>, <AlteracaoCardapio: Alteração de cardápio de: 2022-10-13 para 2022-10-13>, <AlteracaoCardapio: Alteração de cardápio de: 2022-10-24 para 2022-10-24>, <AlteracaoCardapio: Alteração de cardápio de: 2022-10-14 para 2022-10-14>, <AlteracaoCardapio: Alteração de cardápio de: 2022-11-30 para 2022-11-30>, <AlteracaoCardapio: Alteração de cardápio de: 2022-10-14 para 2022-10-14>, <AlteracaoCardapio: Alteração de cardápio de: 2022-12-08 para 2022-12-08>, <AlteracaoCardapio: Alteração de cardápio de: 2022-10-31 para 2022-10-31>, <AlteracaoCardapio: Alteração de cardápio de: 2022-10-14 para 2022-10-14>, <AlteracaoCardapio: Alteração de cardápio de: 2022-10-13 para 2022-10-13>, <AlteracaoCardapio: Alteração de cardápio de: 2022-10-11 para 2022-10-11>, <AlteracaoCardapio: Alteração de cardápio de: 2022-10-10 para 2022-10-10>, <AlteracaoCardapio: Alteração de cardápio de: 2022-10-14 para 2022-10-14>, <AlteracaoCardapio: Alteração de cardápio de: 2022-10-10 para 2022-10-10>, <AlteracaoCardapio: Alteração de cardápio de: 2022-10-11 para 2022-10-11>, <AlteracaoCardapio: Alteração de cardápio de: 2022-10-14 para 2022-10-14>, <AlteracaoCardapio: Alteração de cardápio de: 2022-10-21 para 2022-10-21>, <AlteracaoCardapio: Alteração de cardápio de: 2022-11-24 para 2022-11-24>, '...(remaining elements truncated)...']>
relatorio(request, uuid=None)[source]
solicitacoes_codae(request, filtro_aplicado='sem_filtro')[source]
solicitacoes_diretoria_regional(request, filtro_aplicado='sem_filtro')[source]
solicitacoes_dre(request, filtro_aplicado='sem_filtro')[source]
terceirizada_marca_inclusao_como_conferida(request, uuid=None)[source]
terceirizada_responde_questionamento(request, uuid=None)[source]
terceirizada_toma_ciencia(request, uuid=None)[source]
valida_datas(obj, datas)[source]
class MotivosAlteracaoCardapioViewSet(**kwargs)[source]

Bases: ReadOnlyModelViewSet

get_queryset()[source]

Get the list of items for this view. This must be an iterable, and may be a queryset. Defaults to using self.queryset.

This method should always be used rather than accessing self.queryset directly, as self.queryset gets evaluated only once, and those results are cached for all subsequent requests.

You may want to override this if you need to provide different querysets depending on the incoming request.

(Eg. return a list of items that is specific to the user)

lookup_field = 'uuid'
queryset = <QuerySet [<MotivoAlteracaoCardapio: RPL - Refeição por Lanche>, <MotivoAlteracaoCardapio: LPR - Lanche por Refeição>, <MotivoAlteracaoCardapio: Lanche Emergencial>]>
serializer_class

alias of MotivoAlteracaoCardapioSerializer

fixtures

fixtures/factories

class AlteracaoCardapioFactory(**kwargs)[source]

Bases: DjangoModelFactory

escola = <factory.declarations.SubFactory object>
motivo = <factory.declarations.SubFactory object>
rastro_dre = <factory.declarations.SubFactory object>
rastro_escola = <factory.declarations.SubFactory object>
rastro_lote = <factory.declarations.SubFactory object>
rastro_terceirizada = <factory.declarations.SubFactory object>
class DataIntervaloAlteracaoCardapioFactory(**kwargs)[source]

Bases: DjangoModelFactory

alteracao_cardapio = <factory.declarations.SubFactory object>
class MotivoAlteracaoCardapioFactory(**kwargs)[source]

Bases: DjangoModelFactory

nome = <factory.declarations.Sequence object>
class SubstituicaoAlimentacaoNoPeriodoEscolarFactory(**kwargs)[source]

Bases: DjangoModelFactory

alteracao_cardapio = <factory.declarations.SubFactory object>
periodo_escolar = <factory.declarations.SubFactory object>
tipos_alimentacao_de = <factory.declarations.PostGeneration object>
tipos_alimentacao_para = <factory.declarations.PostGeneration object>

managers

class AlteracoesCardapioDestaSemanaManager(*args, **kwargs)[source]

Bases: Manager

get_queryset()[source]

Return a new QuerySet object. Subclasses can override this method to customize the behavior of the Manager.

class AlteracoesCardapioDesteMesManager(*args, **kwargs)[source]

Bases: Manager

get_queryset()[source]

Return a new QuerySet object. Subclasses can override this method to customize the behavior of the Manager.

class AlteracoesCardapioDoMesCorrenteManager(*args, **kwargs)[source]

Bases: Manager

get_queryset()[source]

Return a new QuerySet object. Subclasses can override this method to customize the behavior of the Manager.

class AlteracoesCardapioVencidaManager(*args, **kwargs)[source]

Bases: Manager

get_queryset()[source]

Return a new QuerySet object. Subclasses can override this method to customize the behavior of the Manager.