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
|
---|