| 1 | # _*_ coding: utf8 _*_
|
|---|
| 2 | from django.db import models
|
|---|
| 3 | from django.forms import ModelForm
|
|---|
| 4 | from django.core.files import File
|
|---|
| 5 | #
|
|---|
| 6 | import datetime
|
|---|
| 7 |
|
|---|
| 8 |
|
|---|
| 9 | #Importação de referência de Classes externas ( de outras áreas)
|
|---|
| 10 | # authentication in Django
|
|---|
| 11 | #from django.contrib.auth.models import User, Group
|
|---|
| 12 | ###Por enquanto está desativada a restrição ( amarração) de acesso/operação, associada ao usuário ou grupo
|
|---|
| 13 |
|
|---|
| 14 | #Demais Classes "externas" associadas das APIs das/para as subáreas CONSC e Holoteca principalmente.
|
|---|
| 15 |
|
|---|
| 16 | from cons.models import Consc
|
|---|
| 17 | from ic_ec.models.projetoatividade import Projeto
|
|---|
| 18 | #User authentication in Django
|
|---|
| 19 | #from django.contrib.auth.models import User, Group
|
|---|
| 20 | ###Por enquanto está desativada a restrição ( amarração) de acesso/operação, associada ao usuário ou grupo
|
|---|
| 21 |
|
|---|
| 22 | #Demais Classes "externas" associadas das APIs das/para as subáreas CONSC e Holoteca principalmente.
|
|---|
| 23 |
|
|---|
| 24 | from cons.models import Consc
|
|---|
| 25 | from corpus.models import Especialidade,Tema
|
|---|
| 26 | from holoteca.models import Dominiologia_Atribut, Config_Atribut_ATTR
|
|---|
| 27 |
|
|---|
| 28 | #----- Evolution for enc
|
|---|
| 29 | #from django_evolution.mutations import *
|
|---|
| 30 | #from django.db import models
|
|---|
| 31 | #
|
|---|
| 32 | #MUTATIONS = [
|
|---|
| 33 | # DeleteField('Secao_Enc', 'verbete')
|
|---|
| 34 | #]
|
|---|
| 35 | #----------------------
|
|---|
| 36 |
|
|---|
| 37 |
|
|---|
| 38 |
|
|---|
| 39 | # Create your models here.
|
|---|
| 40 |
|
|---|
| 41 | #----------------------------
|
|---|
| 42 | #-- Classe Autor Terminologico ou Fraseologistico
|
|---|
| 43 | #-- -------------------------
|
|---|
| 44 | #class Autor(models.Model):
|
|---|
| 45 | # #nome = models.CharField(max_length=400)
|
|---|
| 46 | # conscin = models.ForeignKey(Consc, related_name= 'conscin_acerto', blank= 'True', null='True')
|
|---|
| 47 | # iniciais = models.CharField(max_length=200)
|
|---|
| 48 | # ano_nascimento = models.CharField(max_length=4)
|
|---|
| 49 | # curriculum = models.TextField()
|
|---|
| 50 | # def __unicode__(self):
|
|---|
| 51 | # return self.conscin.nome
|
|---|
| 52 |
|
|---|
| 53 |
|
|---|
| 54 | ###----------------------------
|
|---|
| 55 | #-- Classe Idioma
|
|---|
| 56 | #-- -------------------------
|
|---|
| 57 | class Idioma(models.Model):
|
|---|
| 58 | nome = models.CharField(max_length=50)
|
|---|
| 59 | sequencia = models.IntegerField()
|
|---|
| 60 | #numeracao = models.CharField(max_length=4)
|
|---|
| 61 | #maximos = models.IntegerField()
|
|---|
| 62 | def __unicode__(self):
|
|---|
| 63 | return self.nome
|
|---|
| 64 |
|
|---|
| 65 |
|
|---|
| 66 | ###------------------------------------------------------
|
|---|
| 67 | #-- Classe Secao
|
|---|
| 68 | #-- -----------------------------------------------------
|
|---|
| 69 | class Variavel(models.Model):
|
|---|
| 70 | #idioma = models.ForeignKey(Idioma,related_name= 'idioma_acervo', blank= 'True', null='True')
|
|---|
| 71 | atributo = models.ForeignKey(Config_Atribut_ATTR, blank= 'True', null='True') #,related_name= 'remissao
|
|---|
| 72 | #models.ForeignKey(Config_Atribut_ATTR, blank= 'True', null='True')
|
|---|
| 73 | #config_atrib = models.ManyToManyField(Projeto, blank= 'True', null='True',through="Atrib_Termo")
|
|---|
| 74 | nome = models.CharField(max_length=50)
|
|---|
| 75 |
|
|---|
| 76 | codigo = models.CharField(max_length=06, blank= 'True', null='True')
|
|---|
| 77 | descricao = models.TextField(blank= 'True', null='True')
|
|---|
| 78 | sequencia = models.CharField(max_length=02)
|
|---|
| 79 | prioridade = models.CharField(max_length=02) # Nível de Preenchimento - 1- MIN; 2- BAS; 3 - EXA
|
|---|
| 80 | # item_fixo = models.IntegerField()
|
|---|
| 81 | # item_basico = models.IntegerField()
|
|---|
| 82 | # maximo = models.IntegerField( blank= 'True', null='True')
|
|---|
| 83 | # variavel_sup =
|
|---|
| 84 |
|
|---|
| 85 | def __unicode__(self):
|
|---|
| 86 | return self.nome + ' / '+ self.atributo.nome# + ' / ' + self.prioridade #----------------------------------------------
|
|---|
| 87 |
|
|---|
| 88 | class Meta:
|
|---|
| 89 | ordering = ["sequencia"]
|
|---|
| 90 | verbose_name_plural = "variaveis"
|
|---|
| 91 |
|
|---|
| 92 |
|
|---|
| 93 | #class Atrib_Termo(models.Model):
|
|---|
| 94 | # atributo = models.ForeignKey(Variavel, blank= 'True', null='True')
|
|---|
| 95 | # desc1= models.CharField(max_length=06, blank= 'True', null='True')
|
|---|
| 96 | # projeto = models.ForeignKey(Projeto, blank= 'True', null='True')
|
|---|
| 97 | # desc2=models.CharField(max_length=06, blank= 'True', null='True')
|
|---|
| 98 |
|
|---|
| 99 |
|
|---|
| 100 | # CLASS TERMO
|
|---|
| 101 | class Termo_ou_Fraseologismo(models.Model):
|
|---|
| 102 |
|
|---|
| 103 |
|
|---|
| 104 |
|
|---|
| 105 | #Data de Criação/Nome do Terminólogo Fichador
|
|---|
| 106 | # data_criacao = models.DateTimeField(auto_now_add='True' ,blank= 'True', null='True')
|
|---|
| 107 | #autor = models.ForeignKey(Autor,related_name= 'autor_acerto', blank= 'True', null='True')
|
|---|
| 108 | #data_criacao = models.DateTimeField('Data de Criação da Ficha:',blank= 'True', null='True')
|
|---|
| 109 | # autor = models.CharField(max_length=400)
|
|---|
| 110 | reported_by = models.CharField('Terminólogo',max_length=50)#Terminologo
|
|---|
| 111 | created_at = models.DateTimeField('Data/Hora de Criação da Ficha:', blank='True', null='True')
|
|---|
| 112 | ########O campo Nome de Termiólogo Fichador entra pelo módulo de segurança (horizontal), atualmente no final da lista de campos na tela correspondente a esse modelo no ADMIN
|
|---|
| 113 | nome = models.CharField('Entrada - termo ou fraseologismo', max_length=150)
|
|---|
| 114 | #=======
|
|---|
| 115 |
|
|---|
| 116 | #data_criacao = models.DateTimeField('Data de Criação da Ficha:',blank= 'True', null='True')
|
|---|
| 117 | # autor = models.CharField(max_length=400)
|
|---|
| 118 | # reported_by = models.CharField('Terminólogo:',max_length=50)#Terminologo
|
|---|
| 119 | # created_at = models.DateTimeField('Data/Hora de Criação da Ficha:', blank='True', null='True')
|
|---|
| 120 | ########O campo Nome de Termiólogo Fichador entra pelo módulo de segurança (horizontal), atualmente no final da lista de campos na tela correspondente a esse modelo no ADMIN
|
|---|
| 121 | # nome = models.CharField('Entrada - termo ou fraseologismo:', max_length=150)
|
|---|
| 122 | #Entrada: Ent. - Termo ou Fraseologismo (Lema).
|
|---|
| 123 | ### Os seguintes attrs saem da classe básica de Terminologia (TERMoS), passando para a CLASSE das VARIÁVEIS:
|
|---|
| 124 | #***************************************************************<<< HEA
|
|---|
| 125 | ##categ_gram = models.CharField(max_length=02, blank= 'True', null='True')
|
|---|
| 126 | #Referência ou Categoria Gramatical : Cat. - Referências Gramativcais (Classe e Gênero)
|
|---|
| 127 | ##reducao = models.CharField(max_length=02, blank= 'True', null='True')
|
|---|
| 128 | #Redução: Rd. - (Abreviatura: Siglaçãoou acronímia, qdo houver)
|
|---|
| 129 | #****************************************************************
|
|---|
| 130 |
|
|---|
| 131 | especialidade_central = models.ForeignKey(Especialidade, related_name= 'especialidade_acerto', blank= 'True', null='True')
|
|---|
| 132 | #'Especialidade central (Área Temática):',
|
|---|
| 133 | #FK para Especialidade (classe Externa)
|
|---|
| 134 | Tipo_termo = models.CharField('Tipo de termo', max_length=03, blank= 'True', null='True')
|
|---|
| 135 | #Tipo do Termo ( ou Fraseologismo). Por enquanto, o domínio é: TRM - Termo; FRA - Fraselogismo; ESP - Especialidades Conscienciológicas)
|
|---|
| 136 | idioma_orig = models.ForeignKey(Idioma,related_name= 'idioma_acerto', blank= 'True', null='True')
|
|---|
| 137 | #'Idioma (da entrada):'
|
|---|
| 138 | #FK para Idioma (classe Externa)
|
|---|
| 139 | transc_fonet= models.CharField('Transcrição fonética',max_length=20, blank= 'True', null='True')
|
|---|
| 140 | #=======
|
|---|
| 141 | ##categ_gram = models.CharField(max_length=02, blank= 'True', null='True')
|
|---|
| 142 | #Referência ou Categoria Gramatical : Cat. - Referências Gramativcais (Classe e Gênero)
|
|---|
| 143 | ##reducao = models.CharField(max_length=02, blank= 'True', null='True')
|
|---|
| 144 | #Redução: Rd. - (Abreviatura: Siglaçãoou acronímia, qdo houver)
|
|---|
| 145 | #****************************************************************
|
|---|
| 146 |
|
|---|
| 147 | especialidade_central = models.ForeignKey(Especialidade,related_name= 'especialidade_acerto', blank= 'True', null='True')
|
|---|
| 148 | #FK para Especialidade (classe Externa)
|
|---|
| 149 | Tipo_termo = models.CharField(max_length=03, blank= 'True', null='True')
|
|---|
| 150 | #Tipo do Termo ( ou Fraseologismo). Por enquanto, o domínio é: TRM - Termo; FRA - Fraselogismo; ESP - Especialidades Conscienciológicas)
|
|---|
| 151 | idioma_orig = models.ForeignKey(Idioma,related_name= 'idioma_acerto', blank= 'True', null='True')
|
|---|
| 152 | #FK para Idioma (classe Externa)
|
|---|
| 153 | transc_fonet= models.CharField(max_length=20, blank= 'True', null='True')
|
|---|
| 154 | #Transcrição Fonética: Tf.
|
|---|
| 155 |
|
|---|
| 156 | ### Os seguintes attrs saem da classe básica de Terminologia (TERMoS), passando para a CLASSE das VARIÁVEIS:
|
|---|
| 157 | #**********************************************************
|
|---|
| 158 | #status_termo= models.CharField(max_length=02,blank='True')
|
|---|
| 159 | #Status do Termo: St. (Normalizado - Nor. ou Proposição Neológica - Neo)
|
|---|
| 160 | #****************************************************************
|
|---|
| 161 |
|
|---|
| 162 | traduciologia = models.ManyToManyField("self",blank= 'True', null='True') #,related_name= 'traducao'
|
|---|
| 163 | #'Termos equivalentes (traduciologia):',
|
|---|
| 164 | #AutoFK - Faz referência 'a própria classe (Termo), instâncias de termos de tradução para o termo.
|
|---|
| 165 | remissiologia = models.ManyToManyField("self", blank= 'True', null='True') #,related_name= 'remissao
|
|---|
| 166 | #'Remissivas:',
|
|---|
| 167 | #AutoFK - Faz referência 'a própria classe (Termo), instâncias de termos de referência relevantes para o termo.
|
|---|
| 168 |
|
|---|
| 169 |
|
|---|
| 170 |
|
|---|
| 171 |
|
|---|
| 172 | #tema = models.ForeignKey(Tema,related_name= 'conscin_acervo', blank= 'True', null='True')
|
|---|
| 173 |
|
|---|
| 174 | def __unicode__(self):
|
|---|
| 175 | return self.nome #+ ' / ' + self.especialidade_central.nome + ' / ' + self.idioma_orig.nome + ' / ' # + self.autor.conscin.nome
|
|---|
| 176 |
|
|---|
| 177 | class Meta:
|
|---|
| 178 | ordering = ["nome"]
|
|---|
| 179 | # verbose_name = "Termos ou Fraseologismos"
|
|---|
| 180 | verbose_name_plural = "Termos ou Fraseologismos"
|
|---|
| 181 |
|
|---|
| 182 | #permissions = (
|
|---|
| 183 | #('view_projeto', 'View projeto'),
|
|---|
| 184 | #)
|
|---|
| 185 | # def was_published_today(self):
|
|---|
| 186 | # return self.data_criacao.date() == datetime.date.today()
|
|---|
| 187 | # was_published_today.short_description = 'Published today?'
|
|---|
| 188 |
|
|---|
| 189 | # Create the form class.
|
|---|
| 190 | #class Termo_ou_FraseologismoForm(ModelForm):
|
|---|
| 191 | # class Meta:
|
|---|
| 192 | # model = Termo_ou_Fraseologismo
|
|---|
| 193 |
|
|---|
| 194 | #-- -----------------------------------------------------
|
|---|
| 195 | #-- Table entrada no ACERVO - Fichamento Terminologico
|
|---|
| 196 | #------------------------------------
|
|---|
| 197 | class Conteudo(models.Model):
|
|---|
| 198 | nome = models.CharField(max_length=500)
|
|---|
| 199 | def __unicode__(self):
|
|---|
| 200 | return self.nome
|
|---|
| 201 |
|
|---|
| 202 |
|
|---|
| 203 | #-- -----------------------------------------------------
|
|---|
| 204 | #-- Table entrada no ACERVO - Ficamento Terminologico
|
|---|
| 205 | #-- -----------------------------------------------------
|
|---|
| 206 | #----------------------------------------
|
|---|
| 207 |
|
|---|
| 208 | class Entrada(models.Model):
|
|---|
| 209 | termo = models.ForeignKey(Termo_ou_Fraseologismo)
|
|---|
| 210 | #atrib_termo = models.ForeignKey(Atrib_Termo)#Variavel)
|
|---|
| 211 | variavel = models.ForeignKey(Variavel, null='true' )#Variavel)
|
|---|
| 212 | ##idioma = models.ForeignKey(Idioma,blank= 'True', null='True')
|
|---|
| 213 | #item_basico = models.IntegerField()
|
|---|
| 214 | #sequencia = models.IntegerField()
|
|---|
| 215 | #paginas = models.IntegerField()
|
|---|
| 216 | #models= CharField.max(length_250=conteudo,blank= 'True', null='True')
|
|---|
| 217 | conteudo= models.TextField(blank= 'True', null='True')
|
|---|
| 218 | # data_criacao = models.DateTimeField('DataData Inicial do Verbete:')
|
|---|
| 219 | # autor = models.CharField(max_length=400)
|
|---|
| 220 | #def __unicode__(self):
|
|---|
| 221 | # return self.termo.nome + ' / ' + self.variavel.nome + ' / ' + self.conteudo conteudo= models.TextField(blank= 'True', null='True')
|
|---|
| 222 | # data_criacao = models.DateTimeField('Data Inicial do Verbete:')
|
|---|
| 223 | # autor = models.CharField(max_length=400)
|
|---|
| 224 |
|
|---|
| 225 |
|
|---|
| 226 | def __unicode__(self):
|
|---|
| 227 | if unicode(self.variavel.nome) is not None: return unicode(self.variavel.nome) #atributo + '/ ' + self.atrib_termo.projeto # + ' / ' + self.termo.nome ' / '
|
|---|
| 228 | #return '%s' % self.atrib_termo.atributo
|
|---|
| 229 | #return unicode(self.atrib_termo.desc1) #or u''
|
|---|
| 230 | #return '%s' % self.atrib_termo.projeto
|
|---|
| 231 | #return unicode(self.atrib_termo.desc2) #or u''
|
|---|
| 232 |
|
|---|
| 233 | # def __unicode__(self):
|
|---|
| 234 | # return self.atividade.nome + " / " + self.assocconscic_ec.consc.nome + " / " + self.atividade.inicio
|
|---|
| 235 |
|
|---|
| 236 | class Meta:
|
|---|
| 237 | #ordering = ["sequencia"]
|
|---|
| 238 | verbose_name = "CAMPO"#FICHA do TERMO ou FRASEOLOGISMO CONSCIENCIOLÓGICO:"
|
|---|
| 239 | verbose_name_plural = "FICHA TERMINOLÓGICA"# CONSCIENCIOLÓGICO:"
|
|---|
| 240 | # `verbetografo` INT(11) NULL DEFAULT '0' ,
|
|---|
| 241 | # `arquivo_doc_size` INT(11) NOT NULL DEFAULT '0' ,
|
|---|
| 242 | # `arquivo_doc` MEDIUMBLOB NULL DEFAULT NULL ,
|
|---|
| 243 | # `arquivo_pdf_size` INT(11) NOT NULL DEFAULT '0' ,
|
|---|
| 244 | # `arquivo_pdf` MEDIUMBLOB NULL DEFAULT NULL ,
|
|---|
| 245 | # `paginas` INT(11) NOT NULL DEFAULT '0' ,
|
|---|
| 246 | # `remissiologia_id` INT(11) NOT NULL ,
|
|---|
| 247 | # `remissiologia_id1` INT(11) NOT NULL ,
|
|---|
| 248 | #---------------------------------------------------
|
|---|
| 249 | # PRIMARY KEY (`id`, `remissiologia_id`, `remissiologia_id1`) ,
|
|---|
| 250 | # UNIQUE INDEX `id_UNIQUE` (`id` ASC) ,
|
|---|
| 251 | # UNIQUE INDEX `verbete_UNIQUE` (`verbete` ASC) ,
|
|---|
| 252 | # INDEX `especialidades_KEY` (`especialidade` ASC) ,
|
|---|
| 253 | # INDEX `verbetografos_KEY` (`verbetografo` ASC) ,
|
|---|
| 254 | # INDEX `tertulia_KEY` (`tertulia_aula` ASC) ,
|
|---|
| 255 | # INDEX `verbete_tema` (`tema` ASC) ,
|
|---|
| 256 | # INDEX `verbete_verbetografo` (`verbetografo` ASC) ,
|
|---|
| 257 | # INDEX `verbete_especialidade` (`especialidade` ASC) )
|
|---|
| 258 | #ENGINE = MyISAM
|
|---|
| 259 | #AUTO_INCREMENT = 6140
|
|---|
| 260 | #DEFAULT CHARACTER SET = latin1;
|
|---|
| 261 |
|
|---|
| 262 |
|
|---|
| 263 | #NOVAS CLASSES
|
|---|