Ticket #22815: models.py

File models.py, 12.4 KB (added by marcus.dung@…, 10 years ago)

THe models.py for the app - Bug on returning unicode(variable) but couldn't treat it!

Line 
1# _*_ coding: utf8 _*_
2from django.db import models
3from django.forms import ModelForm
4from django.core.files import File
5#
6import 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
16from cons.models import Consc
17from 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
24from cons.models import Consc
25from corpus.models import Especialidade,Tema
26from 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#-- -------------------------
57class 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#-- -----------------------------------------------------
69class 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
101class 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#------------------------------------
197class 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
208class 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
Back to Top