from django.db import models

# Create your models here.
from django.db import models

# Create your models here.

### STAR SCHEMA ###


### DIMENSIONS ###

class dCanais(models.Model):
    canal_id = models.BigIntegerField(primary_key=True)
    canal = models.CharField(max_length=40)
    
    def __str__(self):
        return self.canal

    class Meta:
        managed = False
        db_table = 'dCanais'
        app_label = 'argo'


class dCategorias(models.Model):
    categoria_id = models.BigIntegerField(primary_key=True)
    categoria = models.CharField(max_length=75)
    
    def __str__(self):
        return self.categoria

    class Meta:
        managed = False
        db_table = 'dCategorias'
        app_label = 'argo'

class dConsultores(models.Model):
    consultor_id = models.BigIntegerField(primary_key=True)
    consultor = models.CharField(max_length=255)
    
    def __str__(self):
        return self.consultor

    class Meta:
        managed = False
        db_table = 'dConsultores'
        app_label = 'argo'

class dEmpreendimentos(models.Model):
    empreendimento_id = models.BigIntegerField(primary_key=True)
    empreendimento = models.CharField(max_length=13)
    
    def __str__(self):
        return self.empreendimento

    class Meta:
        managed = False
        db_table = 'dEmpreendimentos'
        app_label = 'argo'

class dEstadosCivis(models.Model):
    estado_civil_id = models.BigIntegerField(primary_key=True)
    estado_civil = models.CharField(max_length=30)
    
    def __str__(self):
        return self.estado_civil

    class Meta:
        managed = False
        db_table = 'dEstadosCivis'
        app_label = 'argo'

class dEtapasFunil(models.Model):
    funil_id = models.SmallIntegerField(primary_key=True)
    etapa_funil = models.CharField(max_length=70)
    etapa = models.CharField(max_length=77)
    
    def __str__(self):
        return self.etapa_funil

    class Meta:
        managed = False
        db_table = 'dEtapasFunil'
        app_label = 'argo'

class dFaixasIdade(models.Model):
    idade_range_id = models.BigIntegerField(primary_key=True)
    idade_range = models.CharField(max_length=16)
    
    def __str__(self):
        return self.idade_range

    class Meta:
        managed = False
        db_table = 'dFaixasIdade'
        app_label = 'argo'

class dFechamentoDias(models.Model):
    fechamento_id = models.BigIntegerField(primary_key=True)
    finalizacao_range = models.CharField(max_length=16)
    
    def __str__(self):
        return self.finalizacao_range

    class Meta:
        managed = False
        db_table = 'dFechamentoDias'
        app_label = 'argo'

class dInteresses(models.Model):
    interesse_id = models.BigIntegerField(primary_key=True)
    interesse = models.CharField(max_length=75)
    
    def __str__(self):
        return self.interesse

    class Meta:
        managed = False
        db_table = 'dInteresses'
        app_label = 'argo'

class dMidias(models.Model):
    midia_id = models.BigIntegerField(primary_key=True)
    midia = models.CharField(max_length=70)
    
    def __str__(self):
        return self.midia

    class Meta:
        managed = False
        db_table = 'dMidias'
        app_label = 'argo'

class dMotivosPerdaPausa(models.Model):
    motivo_id = models.BigIntegerField(primary_key=True)
    motivo_perda_pausa = models.CharField(max_length=100)
    
    def __str__(self):
        return self.motivo_perda_pausa

    class Meta:
        managed = False
        db_table = 'dMotivosPerdaPausa'
        app_label = 'argo'

class dProfissoes(models.Model):
    profissao_id = models.BigIntegerField(primary_key=True)
    profissao = models.CharField(max_length=80)
    
    def __str__(self):
        return self.profissao

    class Meta:
        managed = False
        db_table = 'dProfissoes'
        app_label = 'argo'

class dQuartos(models.Model):
    quartos_id = models.BigIntegerField(primary_key=True)
    quartos = models.CharField(max_length=13)
    
    def __str__(self):
        return self.quartos

    class Meta:
        managed = False
        db_table = 'dQuartos'
        app_label = 'argo'

class dRegioes(models.Model):
    regiao_id = models.BigIntegerField(primary_key=True)
    cidade = models.CharField(max_length=60)
    estado = models.CharField(max_length=45)
    
    def __str__(self):
        return f"{self.cidade}, {self.estado}"

    class Meta:
        managed = False
        db_table = 'dRegioes'
        app_label = 'argo'

class dRendas(models.Model):
    renda_id = models.BigIntegerField(primary_key=True)
    renda = models.CharField(max_length=50)
    
    def __str__(self):
        return self.renda

    class Meta:
        managed = False
        db_table = 'dRendas'
        app_label = 'argo'

class dSexos(models.Model):
    sexo_id = models.BigIntegerField(primary_key=True)
    sexo = models.CharField(max_length=30)
    
    def __str__(self):
        return self.sexo

    class Meta:
        managed = False
        db_table = 'dSexos'
        app_label = 'argo'

class dStatus(models.Model):
    status_id = models.BigIntegerField(primary_key=True)
    status = models.CharField(max_length=13)
    
    def __str__(self):
        return self.status

    class Meta:
        managed = False
        db_table = 'dStatus'
        app_label = 'argo'

class dStatusAtividade(models.Model):
    status_atividade_id = models.BigIntegerField(primary_key=True)
    status_atividade = models.CharField(max_length=45)
    
    def __str__(self):
        return self.status_atividade

    class Meta:
        managed = False
        db_table = 'dStatusAtividade'
        app_label = 'argo'

class dStatusProposta(models.Model):
    status_proposta_id = models.BigIntegerField(primary_key=True)
    status_proposta = models.CharField(max_length=100)
    
    def __str__(self):
        return self.status_proposta

    class Meta:
        managed = False
        db_table = 'dStatusProposta'
        app_label = 'argo'

class dSuites(models.Model):
    suites_id = models.BigIntegerField(primary_key=True)
    suites = models.CharField(max_length=13)
    
    def __str__(self):
        return self.suites

    class Meta:
        managed = False
        db_table = 'dSuites'
        app_label = 'argo'

class dTemperaturas(models.Model):
    temperatura_id = models.BigIntegerField(primary_key=True)
    temperatura = models.CharField(max_length=100)
    
    def __str__(self):
        return self.temperatura

    class Meta:
        managed = False
        db_table = 'dTemperaturas'
        app_label = 'argo'

class dTipos(models.Model):
    tipo_id = models.BigIntegerField(primary_key=True)
    tipo = models.CharField(max_length=13)
    
    def __str__(self):
        return self.tipo

    class Meta:
        managed = False
        db_table = 'dTipos'
        app_label = 'argo'

class dTiposAtividade(models.Model):
    tipo_atividade_id = models.BigIntegerField(primary_key=True)
    tipo_atividade = models.CharField(max_length=200)
    
    def __str__(self):
        return self.tipo_atividade

    class Meta:
        managed = False
        db_table = 'dTiposAtividade'
        app_label = 'argo'

class dUnidades(models.Model):
    unidade_id = models.BigIntegerField(primary_key=True)
    unidade = models.CharField(max_length=255)
    
    def __str__(self):
        return self.unidade

    class Meta:
        managed = False
        db_table = 'dUnidades'
        app_label = 'argo'

class dUnidadesEmpreendimento(models.Model):
    unidade_empreendimento_id = models.BigIntegerField(primary_key=True)
    empreendimento = models.CharField(max_length=13)
    unidade = models.CharField(max_length=13)
    
    def __str__(self):
        return f"{self.empreendimento}, {self.unidade}"

    class Meta:
        managed = False
        db_table = 'dUnidadesEmpreendimento'
        app_label = 'argo'

class dUTMCampaign(models.Model):
    utm_campaign_id = models.BigIntegerField(primary_key=True)
    utm_campaign = models.TextField()
    
    def __str__(self):
        return self.utm_campaign

    class Meta:
        managed = False
        db_table = 'dUTMCampaign'

class dUTMContent(models.Model):
    utm_content_id = models.BigIntegerField(primary_key=True)
    utm_content = models.TextField()
    
    def __str__(self):
        return self.utm_content

    class Meta:
        managed = False
        db_table = 'dUTMContent'

class dUTMMedium(models.Model):
    utm_medium_id = models.BigIntegerField(primary_key=True)
    utm_medium = models.TextField()
    
    def __str__(self):
        return self.utm_medium

    class Meta:
        managed = False
        db_table = 'dUTMMedium'

class dUTMSource(models.Model):
    utm_source_id = models.BigIntegerField(primary_key=True)
    utm_source = models.CharField(max_length=255)
    
    def __str__(self):
        return self.utm_source

    class Meta:
        managed = False
        db_table = 'dUTMSource'

class dUTMTerm(models.Model):
    utm_term_id = models.BigIntegerField(primary_key=True)
    utm_term = models.TextField()
    
    def __str__(self):
        return self.utm_term

    class Meta:
        managed = False
        db_table = 'dUTMTerm'

class dVagas(models.Model):
    vagas_id = models.BigIntegerField(primary_key=True)
    vagas = models.CharField(max_length=13)
    
    def __str__(self):
        return self.vagas

    class Meta:
        managed = False
        db_table = 'dVagas'
        app_label = 'argo'       

# class dUTMs(models.Model):
    
#     utm_id = models.PositiveIntegerField(primary_key=True, db_column='utm_id')
#     utm_source = models.CharField(max_length=255, db_column='utm_source')
#     utm_medium = models.CharField(max_length=255, db_column='utm_medium')
#     utm_campaign = models.CharField(max_length=255, db_column='utm_campaign')
#     utm_content = models.CharField(max_length=255, db_column='utm_content')
#     utm_term = models.CharField(max_length=255, db_column='utm_term')

    
#     def __str__(self):
#         return f"{self.utm_id} - {self.utm_source} - {self.utm_medium} - {self.utm_campaign} - {self.utm_content} - {self.utm_term}"

#     class Meta:
#         managed = False
#         db_table = 'dUTMs'
#         app_label = 'argo' 

### FACTS ###


class fAcessos(models.Model):
    acesso_id = models.PositiveIntegerField(primary_key=True)
    data = models.CharField(max_length=10)
    hora = models.CharField(max_length=7)
    consultor_id = models.ForeignKey(dConsultores, on_delete=models.CASCADE, db_column='consultor_id')
    unidade_id = models.ForeignKey(dUnidades, on_delete=models.CASCADE, db_column='unidade_id')
    
    def __str__(self):
        return f"{self.acesso_id} - {self.data}"

    class Meta:
        managed = False
        db_table = 'fAcessos'
        app_label = 'argo'

class fAcoesFunil(models.Model):
    acao_id = models.PositiveIntegerField(primary_key=True)
    data = models.CharField(max_length=10)
    funil_id = models.ForeignKey(dEtapasFunil, on_delete=models.CASCADE, db_column='funil_id')
    consultor_id = models.ForeignKey(dConsultores, on_delete=models.CASCADE, db_column='consultor_id')
    unidade_id = models.ForeignKey(dUnidades, on_delete=models.CASCADE, db_column='unidade_id')
    status_id = models.ForeignKey(dStatus, on_delete=models.CASCADE, db_column='status_id')
    midia_id = models.ForeignKey(dMidias, on_delete=models.CASCADE, db_column='midia_id')
    motivo_id = models.ForeignKey(dMotivosPerdaPausa, on_delete=models.CASCADE, db_column='motivo_id')
    categoria_id = models.ForeignKey(dCategorias, on_delete=models.CASCADE, db_column='categoria_id')
    tipo_id = models.ForeignKey(dTipos, on_delete=models.CASCADE, db_column='tipo_id')
    regiao_id = models.ForeignKey(dRegioes, on_delete=models.CASCADE, db_column='regiao_id')
    empreendimento_id = models.ForeignKey(dEmpreendimentos, on_delete=models.CASCADE, db_column='empreendimento_id')
    renda_id = models.ForeignKey(dRendas, on_delete=models.CASCADE, db_column='renda_id')
    estado_civil_id = models.ForeignKey(dEstadosCivis, on_delete=models.CASCADE, db_column='estado_civil_id')
    profissao_id = models.ForeignKey(dProfissoes, on_delete=models.CASCADE, db_column='profissao_id')
    sexo_id = models.ForeignKey(dSexos, on_delete=models.CASCADE, db_column='sexo_id')
    interesse_id = models.ForeignKey(dInteresses, on_delete=models.CASCADE, db_column='interesse_id')
    idade_range_id = models.ForeignKey(dFaixasIdade, on_delete=models.CASCADE, db_column='idade_range_id')
    #utm_id = models.ForeignKey(dUTMs, on_delete=models.CASCADE, db_column='utm_id')
    utm_source_id = models.ForeignKey(dUTMSource, on_delete=models.CASCADE, db_column='utm_source_id')
    utm_medium_id = models.ForeignKey(dUTMMedium, on_delete=models.CASCADE, db_column='utm_medium_id')
    utm_campaign_id = models.ForeignKey(dUTMCampaign, on_delete=models.CASCADE, db_column='utm_campaign_id')
    utm_content_id = models.ForeignKey(dUTMContent, on_delete=models.CASCADE, db_column='utm_content_id')
    utm_term_id = models.ForeignKey(dUTMTerm, on_delete=models.CASCADE, db_column='utm_term_id')
    
    def __str__(self):
        return f"{self.acao_id} - {self.data} - {self.funil}"
    
    class Meta:
        managed = False
        db_table = 'fAcoesFunil'
        app_label = 'argo'
    
class fAtividades(models.Model):
    atividade_id = models.PositiveIntegerField(primary_key=True)
    data = models.CharField(max_length=10)
    tipo_atividade_id = models.ForeignKey(dTiposAtividade, on_delete=models.CASCADE, db_column='tipo_atividade_id')
    status_atividade_id = models.ForeignKey(dStatusAtividade, on_delete=models.CASCADE,  db_column='status_atividade_id')
    dias_finalizacao = models.PositiveIntegerField()
    consultor_id = models.ForeignKey(dConsultores, on_delete=models.CASCADE, db_column='consultor_id')
    unidade_id = models.ForeignKey(dUnidades, on_delete=models.CASCADE, db_column='unidade_id')
    status_id = models.ForeignKey(dStatus, on_delete=models.CASCADE, db_column='status_id')
    funil_id = models.ForeignKey(dEtapasFunil, on_delete=models.CASCADE, db_column='funil_id')
    midia_id = models.ForeignKey(dMidias, on_delete=models.CASCADE, db_column='midia_id')
    motivo_id = models.ForeignKey(dMotivosPerdaPausa, on_delete=models.CASCADE, db_column='motivo_id')
    categoria_id = models.ForeignKey(dCategorias, on_delete=models.CASCADE, db_column='categoria_id')
    tipo_id = models.ForeignKey(dTipos, on_delete=models.CASCADE, db_column='tipo_id')
    regiao_id = models.ForeignKey(dRegioes, on_delete=models.CASCADE, db_column='regiao_id')
    empreendimento_id = models.ForeignKey(dEmpreendimentos, on_delete=models.CASCADE, db_column='empreendimento_id')
    renda_id = models.ForeignKey(dRendas, on_delete=models.CASCADE, db_column='renda_id')
    estado_civil_id = models.ForeignKey(dEstadosCivis, on_delete=models.CASCADE, db_column='estado_civil_id')
    profissao_id = models.ForeignKey(dProfissoes, on_delete=models.CASCADE, db_column='profissao_id')
    sexo_id = models.ForeignKey(dSexos, on_delete=models.CASCADE, db_column='sexo_id')
    interesse_id = models.ForeignKey(dInteresses, on_delete=models.CASCADE, db_column='interesse_id')
    idade_range_id = models.ForeignKey(dFaixasIdade, on_delete=models.CASCADE, db_column='idade_range_id')
    utm_source_id = models.ForeignKey(dUTMSource, on_delete=models.CASCADE, db_column='utm_source_id')
    utm_medium_id = models.ForeignKey(dUTMMedium, on_delete=models.CASCADE, db_column='utm_medium_id')
    utm_campaign_id = models.ForeignKey(dUTMCampaign, on_delete=models.CASCADE, db_column='utm_campaign_id')
    utm_content_id = models.ForeignKey(dUTMContent, on_delete=models.CASCADE, db_column='utm_content_id')
    utm_term_id = models.ForeignKey(dUTMTerm, on_delete=models.CASCADE, db_column='utm_term_id')
    canal_id = models.ForeignKey(dCanais, on_delete=models.CASCADE, db_column='canal_id')
    temperatura_id = models.ForeignKey(dTemperaturas, on_delete=models.CASCADE, db_column='temperatura_id')
    #utm_id = models.ForeignKey(dUTMs, on_delete=models.CASCADE, db_column='utm_id')
    
    def __str__(self):
        return f"{self.atividade_id} - {self.data}"

    class Meta:
        managed = False
        db_table = 'fAtividades'
        app_label = 'argo'

class fOportunidades(models.Model):
    oportunidade_id = models.PositiveIntegerField(primary_key=True)
    dias_finalizacao = models.PositiveIntegerField()
    data = models.CharField(max_length=10)
    hora = models.CharField(max_length=13)
    consultor_id = models.ForeignKey(dConsultores, on_delete=models.CASCADE, db_column='consultor_id')
    unidade_id = models.ForeignKey(dUnidades, on_delete=models.CASCADE, db_column='unidade_id')
    status_id = models.ForeignKey(dStatus, on_delete=models.CASCADE, db_column='status_id')
    funil_id = models.ForeignKey(dEtapasFunil, on_delete=models.CASCADE, db_column='funil_id')
    midia_id = models.ForeignKey(dMidias, on_delete=models.CASCADE, db_column='midia_id')
    motivo_id = models.ForeignKey(dMotivosPerdaPausa, on_delete=models.CASCADE, db_column='motivo_id')
    categoria_id = models.ForeignKey(dCategorias, on_delete=models.CASCADE, db_column='categoria_id')
    tipo_id = models.ForeignKey(dTipos, on_delete=models.CASCADE, db_column='tipo_id')
    regiao_id = models.ForeignKey(dRegioes, on_delete=models.CASCADE, db_column='regiao_id')
    empreendimento_id = models.ForeignKey(dEmpreendimentos, on_delete=models.CASCADE, db_column='empreendimento_id')
    renda_id = models.ForeignKey(dRendas, on_delete=models.CASCADE, db_column='renda_id')
    estado_civil_id = models.ForeignKey(dEstadosCivis, on_delete=models.CASCADE, db_column='estado_civil_id')
    profissao_id = models.ForeignKey(dProfissoes, on_delete=models.CASCADE, db_column='profissao_id')
    sexo_id = models.ForeignKey(dSexos, on_delete=models.CASCADE, db_column='sexo_id')
    interesse_id = models.ForeignKey(dInteresses, on_delete=models.CASCADE, db_column='interesse_id')
    idade_range_id = models.ForeignKey(dFaixasIdade, on_delete=models.CASCADE, db_column='idade_range_id')
    utm_source_id = models.ForeignKey(dUTMSource, on_delete=models.CASCADE, db_column='utm_source_id')
    utm_medium_id = models.ForeignKey(dUTMMedium, on_delete=models.CASCADE, db_column='utm_medium_id')
    utm_campaign_id = models.ForeignKey(dUTMCampaign, on_delete=models.CASCADE, db_column='utm_campaign_id')
    utm_content_id = models.ForeignKey(dUTMContent, on_delete=models.CASCADE, db_column='utm_content_id')
    utm_term_id = models.ForeignKey(dUTMTerm, on_delete=models.CASCADE, db_column='utm_term_id')
    canal_id = models.ForeignKey(dCanais, on_delete=models.CASCADE, db_column='canal_id')
    temperatura_id = models.ForeignKey(dTemperaturas, on_delete=models.CASCADE, db_column='temperatura_id')
    #utm_id = models.ForeignKey(dUTMs, on_delete=models.CASCADE, db_column='utm_id')
    link_crm = models.URLField(max_length=70)

    def __str__(self):
        return f"{self.oportunidade_id} - {self.data}"

    class Meta:
        managed = False
        db_table = 'fOportunidades'
        app_label = 'argo'
        
class fPropostas(models.Model):
    proposta_id = models.PositiveIntegerField(primary_key=True)
    data_proposta = models.CharField(max_length=10)
    data_venda = models.CharField(max_length=10)
    dias_fechamento = models.PositiveIntegerField()
    valor = models.DecimalField(max_digits=13, decimal_places=2)
    cancelada = models.CharField(max_length=3)
    consultor_id = models.ForeignKey(dConsultores, on_delete=models.CASCADE, db_column='consultor_id')
    unidade_id = models.ForeignKey(dUnidades, on_delete=models.CASCADE, db_column='unidade_id')
    funil_id = models.ForeignKey(dEtapasFunil, on_delete=models.CASCADE, db_column='funil_id')
    midia_id = models.ForeignKey(dMidias, on_delete=models.CASCADE, db_column='midia_id')
    motivo_id = models.ForeignKey(dMotivosPerdaPausa, on_delete=models.CASCADE, db_column='motivo_id')
    categoria_id = models.ForeignKey(dCategorias, on_delete=models.CASCADE, db_column='categoria_id')
    tipo_id = models.ForeignKey(dTipos, on_delete=models.CASCADE, db_column='tipo_id')
    regiao_id = models.ForeignKey(dRegioes, on_delete=models.CASCADE, db_column='regiao_id')
    renda_id = models.ForeignKey(dRendas, on_delete=models.CASCADE, db_column='renda_id')
    estado_civil_id = models.ForeignKey(dEstadosCivis, on_delete=models.CASCADE, db_column='estado_civil_id')
    profissao_id = models.ForeignKey(dProfissoes, on_delete=models.CASCADE, db_column='profissao_id')
    sexo_id = models.ForeignKey(dSexos, on_delete=models.CASCADE, db_column='sexo_id')
    interesse_id = models.ForeignKey(dInteresses, on_delete=models.CASCADE, db_column='interesse_id')
    idade_range_id = models.ForeignKey(dFaixasIdade, on_delete=models.CASCADE, db_column='idade_range_id')
    utm_source_id = models.ForeignKey(dUTMSource, on_delete=models.CASCADE, db_column='utm_source_id')
    utm_medium_id = models.ForeignKey(dUTMMedium, on_delete=models.CASCADE, db_column='utm_medium_id')
    utm_campaign_id = models.ForeignKey(dUTMCampaign, on_delete=models.CASCADE, db_column='utm_campaign_id')
    utm_content_id = models.ForeignKey(dUTMContent, on_delete=models.CASCADE, db_column='utm_content_id')
    utm_term_id = models.ForeignKey(dUTMTerm, on_delete=models.CASCADE, db_column='utm_term_id')
    fechamento_id = models.ForeignKey(dFechamentoDias, on_delete=models.CASCADE, db_column='fechamento_id')
    status_proposta_id = models.ForeignKey(dStatusProposta, on_delete=models.CASCADE, db_column='status_proposta_id')
    unidade_empreendimento_id = models.ForeignKey(dUnidadesEmpreendimento, on_delete=models.CASCADE, db_column='unidade_empreendimento_id')
    empreendimento_id = models.ForeignKey(dEmpreendimentos, on_delete=models.CASCADE, db_column='empreendimento_id')
    #utm_id = models.ForeignKey(dUTMs, on_delete=models.CASCADE, db_column='utm_id')
    link_crm = models.URLField(max_length=66)

    
    def __str__(self):
        return f"{self.proposta_id} - {self.data_proposta}"

    class Meta:
        managed = False
        db_table = 'fPropostas'
        app_label = 'argo'

class fVendas(models.Model):
    venda_id = models.PositiveIntegerField(primary_key=True)
    data_venda = models.CharField(max_length=10)
    dias_fechamento = models.PositiveIntegerField()
    valor = models.DecimalField(max_digits=13, decimal_places=2)
    consultor_id = models.ForeignKey(dConsultores, on_delete=models.CASCADE, db_column='consultor_id')
    unidade_id = models.ForeignKey(dUnidades, on_delete=models.CASCADE, db_column='unidade_id')
    funil_id = models.ForeignKey(dEtapasFunil, on_delete=models.CASCADE, db_column='funil_id')
    midia_id = models.ForeignKey(dMidias, on_delete=models.CASCADE, db_column='midia_id')
    motivo_id = models.ForeignKey(dMotivosPerdaPausa, on_delete=models.CASCADE, db_column='motivo_id')
    categoria_id = models.ForeignKey(dCategorias, on_delete=models.CASCADE, db_column='categoria_id')
    tipo_id = models.ForeignKey(dTipos, on_delete=models.CASCADE, db_column='tipo_id')
    regiao_id = models.ForeignKey(dRegioes, on_delete=models.CASCADE, db_column='regiao_id')
    renda_id = models.ForeignKey(dRendas, on_delete=models.CASCADE, db_column='renda_id')
    estado_civil_id = models.ForeignKey(dEstadosCivis, on_delete=models.CASCADE, db_column='estado_civil_id')
    profissao_id = models.ForeignKey(dProfissoes, on_delete=models.CASCADE, db_column='profissao_id')
    sexo_id = models.ForeignKey(dSexos, on_delete=models.CASCADE, db_column='sexo_id')
    interesse_id = models.ForeignKey(dInteresses, on_delete=models.CASCADE, db_column='interesse_id')
    idade_range_id = models.ForeignKey(dFaixasIdade, on_delete=models.CASCADE, db_column='idade_range_id')
    utm_source_id = models.ForeignKey(dUTMSource, on_delete=models.CASCADE, db_column='utm_source_id')
    utm_medium_id = models.ForeignKey(dUTMMedium, on_delete=models.CASCADE, db_column='utm_medium_id')
    utm_campaign_id = models.ForeignKey(dUTMCampaign, on_delete=models.CASCADE, db_column='utm_campaign_id')
    utm_content_id = models.ForeignKey(dUTMContent, on_delete=models.CASCADE, db_column='utm_content_id')
    utm_term_id = models.ForeignKey(dUTMTerm, on_delete=models.CASCADE, db_column='utm_term_id')
    unidade_empreendimento_id = models.ForeignKey(dUnidadesEmpreendimento, on_delete=models.CASCADE, db_column='unidade_empreendimento_id')
    empreendimento_id = models.ForeignKey(dEmpreendimentos, on_delete=models.CASCADE, db_column='empreendimento_id')
    #utm_id = models.ForeignKey(dUTMs, on_delete=models.CASCADE, db_column='utm_id')
    link_crm = models.URLField(max_length=66)
    
    def __str__(self):
        return f"{self.venda_id} - {self.data_venda}"

    class Meta:
        managed = False
        db_table = 'fVendas'
        app_label = 'argo'
    

