Sistema de Apoio ao Processo Legislativo
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

132 lines
8.0 KiB

from django.db import models
class Legislatura(models.Model):
data_inicio = models.DateField() # dat_inicio
data_fim = models.DateField() # dat_fim
data_eleicao = models.DateField() # dat_eleicao
class SessaoLegislativa(models.Model):
legislatura = models.ForeignKey(Legislatura) # num_legislatura
numero = models.IntegerField() # num_sessao_leg
tipo = models.CharField(max_length=1) # tip_sessao_leg
data_inicio = models.DateField() # dat_inicio
data_fim = models.DateField() # dat_fim
data_inicio_intervalo = models.DateField(blank=True, null=True) # dat_inicio_intervalo
data_fim_intervalo = models.DateField(blank=True, null=True) # dat_fim_intervalo
class Coligacao(models.Model):
legislatura = models.ForeignKey(Legislatura) # num_legislatura
nome_coligacao = models.CharField(max_length=50) # nom_coligacao
numero_votos_coligacao = models.IntegerField(blank=True, null=True) # num_votos_coligacao
class Partido(models.Model):
sigla_partido = models.CharField(max_length=9) # sgl_partido
nome_partido = models.CharField(max_length=50) # nom_partido
data_criacao = models.DateField(blank=True, null=True) # dat_criacao
data_extincao = models.DateField(blank=True, null=True) # dat_extincao
class ComposicaoColigacao(models.Model):
partido = models.ForeignKey(Partido) # cod_partido
coligacao = models.ForeignKey(Coligacao) # cod_coligacao
class Localidade(models.Model):
nome_localidade = models.CharField(max_length=50, blank=True, null=True) # nom_localidade
nome_localidade_pesq = models.CharField(max_length=50, blank=True, null=True) # nom_localidade_pesq
tipo_localidade = models.CharField(max_length=1, blank=True, null=True) # tip_localidade
sigla_uf = models.CharField(max_length=2, blank=True, null=True) # sgl_uf
sigla_regiao = models.CharField(max_length=2, blank=True, null=True) # sgl_regiao
class NivelInstrucao(models.Model):
nivel_instrucao = models.CharField(max_length=50) # des_nivel_instrucao
class SituacaoMilitar(models.Model):
descricao_tipo_situacao = models.CharField(max_length=50) # des_tipo_situacao
class Parlamentar(models.Model):
nivel_instrucao = models.ForeignKey(NivelInstrucao, blank=True, null=True) # cod_nivel_instrucao
situacao_militar = models.ForeignKey(SituacaoMilitar, blank=True, null=True) # tip_situacao_militar
nome_completo = models.CharField(max_length=50) # nom_completo
nome_parlamentar = models.CharField(max_length=50, blank=True, null=True) # nom_parlamentar
sexo = models.CharField(max_length=1) # sex_parlamentar
data_nascimento = models.DateField(blank=True, null=True) # dat_nascimento
numero_cpf = models.CharField(max_length=14, blank=True, null=True) # num_cpf
numero_rg = models.CharField(max_length=15, blank=True, null=True) # num_rg
numero_tit_eleitor = models.CharField(max_length=15, blank=True, null=True) # num_tit_eleitor
cod_casa = models.IntegerField() # cod_casa
numero_gab_parlamentar = models.CharField(max_length=10, blank=True, null=True) # num_gab_parlamentar
numero_tel_parlamentar = models.CharField(max_length=50, blank=True, null=True) # num_tel_parlamentar
numero_fax_parlamentar = models.CharField(max_length=50, blank=True, null=True) # num_fax_parlamentar
endereco_residencial = models.CharField(max_length=100, blank=True, null=True) # end_residencial
localidade_resid = models.ForeignKey(Localidade, blank=True, null=True) # cod_localidade_resid
numero_cep_resid = models.CharField(max_length=9, blank=True, null=True) # num_cep_resid
numero_tel_resid = models.CharField(max_length=50, blank=True, null=True) # num_tel_resid
numero_fax_resid = models.CharField(max_length=50, blank=True, null=True) # num_fax_resid
endereco_web = models.CharField(max_length=100, blank=True, null=True) # end_web
nome_profissao = models.CharField(max_length=50, blank=True, null=True) # nom_profissao
endereco_email = models.CharField(max_length=100, blank=True, null=True) # end_email
descricao_local_atuacao = models.CharField(max_length=100, blank=True, null=True) # des_local_atuacao
ativo = models.BooleanField() # ind_ativo
txt_biografia = models.TextField(blank=True, null=True) # txt_biografia
unid_deliberativa = models.BooleanField() # ind_unid_deliberativa
class TipoDependente(models.Model):
descricao_tipo_dependente = models.CharField(max_length=50) # des_tipo_dependente
class Dependente(models.Model):
tipo_dependente = models.ForeignKey(TipoDependente) # tip_dependente
parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar
nome_dependente = models.CharField(max_length=50) # nom_dependente
sexo = models.CharField(max_length=1) # sex_dependente
data_nascimento = models.DateField(blank=True, null=True) # dat_nascimento
numero_cpf = models.CharField(max_length=14, blank=True, null=True) # num_cpf
numero_rg = models.CharField(max_length=15, blank=True, null=True) # num_rg
numero_tit_eleitor = models.CharField(max_length=15, blank=True, null=True) # num_tit_eleitor
class Filiacao(models.Model):
data_filiacao = models.DateField() # dat_filiacao
parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar
partido = models.ForeignKey(Partido) # cod_partido
data_desfiliacao = models.DateField(blank=True, null=True) # dat_desfiliacao
class TipoAfastamento(models.Model):
descricao_afastamento = models.CharField(max_length=50) # des_afastamento
afastamento = models.BooleanField() # ind_afastamento
fim_mandato = models.BooleanField() # ind_fim_mandato
descricao_dispositivo = models.CharField(max_length=50, blank=True, null=True) # des_dispositivo
class Mandato(models.Model):
parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar
tipo_afastamento = models.ForeignKey(TipoAfastamento, blank=True, null=True) # tip_afastamento
legislatura = models.ForeignKey(Legislatura) # num_legislatura
coligacao = models.ForeignKey(Coligacao, blank=True, null=True) # cod_coligacao
tipo_causa_fim_mandato = models.IntegerField(blank=True, null=True) # tip_causa_fim_mandato
data_fim_mandato = models.DateField(blank=True, null=True) # dat_fim_mandato
numero_votos_recebidos = models.IntegerField(blank=True, null=True) # num_votos_recebidos
data_expedicao_diploma = models.DateField(blank=True, null=True) # dat_expedicao_diploma
txt_observacao = models.TextField(blank=True, null=True) # txt_observacao
class CargoMesa(models.Model):
nome = models.CharField(max_length=50) # des_cargo
unico = models.BooleanField() # ind_unico
class ComposicaoMesa(models.Model):
parlamentar = models.ForeignKey(Parlamentar) # cod_parlamentar
sessao_legislativa = models.ForeignKey(SessaoLegislativa) # cod_sessao_leg
cargo = models.ForeignKey(CargoMesa) # cod_cargo