diff --git a/sigi/apps/casas/admin.py b/sigi/apps/casas/admin.py
new file mode 100644
index 0000000..64be138
--- /dev/null
+++ b/sigi/apps/casas/admin.py
@@ -0,0 +1,9 @@
+# -*- coding: utf-8 -*-
+from django.contrib import admin
+from sigi.apps.casas.models import CasaLegislativa
+
+class CasaLegislativaAdmin(admin.ModelAdmin):
+ list_display = ('nome', 'email', 'pagina_web')
+ list_display_links = ('nome',)
+
+admin.site.register(CasaLegislativa, CasaLegislativaAdmin)
diff --git a/sigi/apps/casas/models.py b/sigi/apps/casas/models.py
index 9b5b58b..9f5719e 100644
--- a/sigi/apps/casas/models.py
+++ b/sigi/apps/casas/models.py
@@ -13,7 +13,11 @@ class CasaLegislativa(models.Model):
nome = models.CharField(max_length=60)
sigla = models.CharField(max_length=30, blank=True)
tipo = models.CharField(max_length=2, choices=CASA_CHOICES)
- cnpj = models.CharField('CNPJ', max_length=18)
+ cnpj = models.CharField(
+ 'CNPJ',
+ max_length=18,
+ help_text="Formato: ."
+ )
logradouro = models.CharField(max_length=100)
bairro = models.CharField(max_length=40)
@@ -23,7 +27,7 @@ class CasaLegislativa(models.Model):
help_text="Formato: XXXXX-XXX."
)
email = models.EmailField('e-mail', blank=True)
- pagina_web = models.URLField('página web', blank=True)
+ pagina_web = models.URLField(u'página web', blank=True)
telefones = generic.GenericRelation('contatos.Telefone')
foto = models.ImageField(
@@ -34,7 +38,7 @@ class CasaLegislativa(models.Model):
)
foto_largura = models.SmallIntegerField(editable=False, null=True)
foto_altura = models.SmallIntegerField(editable=False, null=True)
- historico = models.TextField('histórico', blank=True)
+ historico = models.TextField(u'histórico', blank=True)
contatos = generic.GenericRelation('contatos.Contato')
@@ -43,9 +47,5 @@ class CasaLegislativa(models.Model):
verbose_name = 'Casa Legislativa'
verbose_name_plural = 'Casas Legislativas'
- class Admin:
- list_display = ('nome', 'email', 'pagina_web')
- list_display_links = ('nome',)
-
def __unicode__(self):
return self.nome
diff --git a/sigi/apps/contatos/admin.py b/sigi/apps/contatos/admin.py
new file mode 100644
index 0000000..d3419a5
--- /dev/null
+++ b/sigi/apps/contatos/admin.py
@@ -0,0 +1,31 @@
+# -*- coding: utf-8 -*-
+from django.contrib import admin
+from sigi.apps.contatos.models import (UnidadeFederativa, Municipio, Telefone,
+ Contato)
+
+class UnidadeFederativaAdmin(admin.ModelAdmin):
+ list_display = ('codigo_ibge', 'nome', 'sigla')
+ list_display_links = ('codigo_ibge', 'nome', 'sigla')
+ search_fields = ('codigo_ibge', 'nome', 'sigla')
+
+class MunicipioAdmin(admin.ModelAdmin):
+ list_display = ('codigo_ibge', 'nome', 'uf')
+ list_display_links = ('codigo_ibge', 'nome')
+ list_filter = ('uf',)
+ search_fields = ('codigo_ibge', 'nome', 'uf')
+
+class TelefoneAdmin(admin.ModelAdmin):
+ list_display = ('codigo_ddd', 'numero', 'tipo', 'nota')
+ list_display_links = ('codigo_ddd', 'numero')
+ list_filter = ('codigo_ddd',)
+ radio_fields = {'tipo': admin.VERTICAL}
+ search_fields = ('codigo_ddd', 'numero', 'tipo', 'nota')
+
+class ContatoAdmin(admin.ModelAdmin):
+ list_display = ('nome', 'nota')
+ list_display_links = ('nome',)
+
+admin.site.register(UnidadeFederativa, UnidadeFederativaAdmin)
+admin.site.register(Municipio, MunicipioAdmin)
+admin.site.register(Telefone, TelefoneAdmin)
+admin.site.register(Contato, ContatoAdmin)
diff --git a/sigi/apps/contatos/models.py b/sigi/apps/contatos/models.py
index 0378ea3..b717be1 100644
--- a/sigi/apps/contatos/models.py
+++ b/sigi/apps/contatos/models.py
@@ -26,11 +26,6 @@ class UnidadeFederativa(models.Model):
verbose_name = 'Unidade Federativa'
verbose_name_plural = 'Unidades Federativas'
- class Admin:
- list_display = ('codigo_ibge', 'nome', 'sigla')
- list_display_links = ('codigo_ibge', 'nome', 'sigla')
- search_fields = ('codigo_ibge', 'nome', 'sigla')
-
def __unicode__(self):
return self.nome
@@ -71,12 +66,6 @@ class Municipio(models.Model):
verbose_name = 'município'
verbose_name_plural = 'municípios'
- class Admin:
- list_display = ('codigo_ibge', 'nome', 'uf')
- list_display_links = ('codigo_ibge', 'nome')
- list_filter = ('uf',)
- search_fields = ('codigo_ibge', 'nome', 'uf')
-
def __unicode__(self):
return self.nome
@@ -103,7 +92,6 @@ class Telefone(models.Model):
tipo = models.CharField(
max_length=1,
choices=TELEFONE_CHOICES,
- radio_admin=True
)
nota = models.CharField(max_length=70, blank=True)
content_type = models.ForeignKey(ContentType)
@@ -114,14 +102,8 @@ class Telefone(models.Model):
ordering = ('codigo_ddd', 'numero')
unique_together = ('codigo_ddd', 'numero', 'tipo')
- class Admin:
- list_display = ('codigo_ddd', 'numero', 'tipo', 'nota')
- list_display_links = ('codigo_ddd', 'numero')
- list_filter = ('codigo_ddd',)
- search_fields = ('codigo_ddd', 'numero', 'tipo', 'nota')
-
def __unicode__(self):
- return "(%s) %s" % (self.codigo_ddd, self.numero)
+ return "(%s) %s" % (unicode(self.codigo_ddd), unicode(self.numero))
class Contato(models.Model):
nome = models.CharField('nome completo', max_length=60)
@@ -146,9 +128,5 @@ class Contato(models.Model):
verbose_name = 'contato Interlegis'
verbose_name_plural = 'contatos Interlegis'
- class Admin:
- list_display = ('nome', 'nota')
- list_display_links = ('nome',)
-
def __unicode__(self):
return self.nome
diff --git a/sigi/apps/convenios/admin.py b/sigi/apps/convenios/admin.py
new file mode 100644
index 0000000..353f736
--- /dev/null
+++ b/sigi/apps/convenios/admin.py
@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+from django.contrib import admin
+from sigi.apps.convenios.models import Convenio, EquipamentoPrevisto, Anexo
+
+class ConvenioAdmin(admin.ModelAdmin):
+ ordering = ('-num_convenio',)
+ list_display = ('num_convenio', 'casa_legislativa',
+ 'num_processo_sf', 'data_adesao')
+ list_filter = ('equipamentos_recebidos',)
+
+class EquipamentoPrevistoAdmin(admin.ModelAdmin):
+ ordering = ('convenio', 'equipamento')
+ list_display = ('convenio', 'equipamento', 'quantidade')
+ list_display_links = ('convenio', 'equipamento')
+
+class AnexoAdmin(admin.ModelAdmin):
+ date_hierarchy = 'data_pub'
+ list_display = ('descricao', 'data_pub', 'convenio')
+
+admin.site.register(Convenio, ConvenioAdmin)
+admin.site.register(EquipamentoPrevisto, EquipamentoPrevistoAdmin)
+admin.site.register(Anexo, AnexoAdmin)
diff --git a/sigi/apps/convenios/models.py b/sigi/apps/convenios/models.py
index 91bd84c..64c3b75 100644
--- a/sigi/apps/convenios/models.py
+++ b/sigi/apps/convenios/models.py
@@ -49,12 +49,6 @@ class Convenio(models.Model):
ordering = ('num_convenio',)
verbose_name = 'convênio'
- class Admin:
- ordering = ('-num_convenio',)
- list_display = ('num_convenio', 'casa_legislativa',
- 'num_processo_sf', 'data_adesao')
- list_filter = ('equipamentos_recebidos',)
-
class EquipamentoPrevisto(models.Model):
convenio = models.ForeignKey(Convenio)
equipamento = models.ForeignKey('inventario.Equipamento')
@@ -64,11 +58,6 @@ class EquipamentoPrevisto(models.Model):
verbose_name = 'equipamento previsto'
verbose_name_plural = 'equipamentos previstos'
- class Admin:
- ordering = ('convenio', 'equipamento')
- list_display = ('convenio', 'equipamento', 'quantidade')
- list_display_links = ('convenio', 'equipamento')
-
class Anexo(models.Model):
convenio = models.ForeignKey(Convenio, verbose_name='convênio')
arquivo = models.FileField(upload_to='arquivos/anexos',)
@@ -80,7 +69,3 @@ class Anexo(models.Model):
class Meta:
ordering = ('-data_pub',)
-
- class Admin:
- date_hierarchy = 'data_pub'
- list_display = ('descricao', 'data_pub', 'convenio')
diff --git a/sigi/apps/inventario/admin.py b/sigi/apps/inventario/admin.py
new file mode 100644
index 0000000..23c7433
--- /dev/null
+++ b/sigi/apps/inventario/admin.py
@@ -0,0 +1,34 @@
+# -*- coding: utf-8 -*-
+from django.contrib import admin
+from sigi.apps.inventario.models import (Fornecedor, Fabricante, Equipamento,
+ TipoEquipamento, ModeloEquipamento,
+ Bem)
+
+class FornecedorAdmin(admin.ModelAdmin):
+ list_display = ('id', 'nome')
+
+class FabricanteAdmin(admin.ModelAdmin):
+ list_display = ('id', 'nome')
+
+class TipoEquipamentoAdmin(admin.ModelAdmin):
+ list_display = ('id', 'tipo')
+
+class ModeloEquipamentoAdmin(admin.ModelAdmin):
+ list_display = ('id', 'tipo', 'modelo')
+
+class EquipamentoAdmin(admin.ModelAdmin):
+ ordering = ('fabricante', 'modelo')
+ list_display = ('id', 'modelo', 'fabricante')
+ list_filter = ('fabricante',)
+
+class BemAdmin(admin.ModelAdmin):
+ ordering = ('casa_legislativa', 'fornecedor', 'equipamento')
+ list_display = ('equipamento', 'fornecedor', 'num_serie',
+ 'num_tombamento', 'casa_legislativa')
+
+admin.site.register(Fornecedor, FornecedorAdmin)
+admin.site.register(Fabricante, FabricanteAdmin)
+admin.site.register(TipoEquipamento, TipoEquipamentoAdmin)
+admin.site.register(ModeloEquipamento,ModeloEquipamentoAdmin)
+admin.site.register(Equipamento, EquipamentoAdmin)
+admin.site.register(Bem, BemAdmin)
diff --git a/sigi/apps/inventario/models.py b/sigi/apps/inventario/models.py
index b415688..efe5dbf 100644
--- a/sigi/apps/inventario/models.py
+++ b/sigi/apps/inventario/models.py
@@ -13,9 +13,6 @@ class Fornecedor(models.Model):
ordering = ('nome',)
verbose_name_plural = 'fornecedores'
- class Admin:
- list_display = ('id', 'nome')
-
def __unicode__(self):
return self.nome
@@ -25,9 +22,6 @@ class Fabricante(models.Model):
class Meta:
ordering = ('nome',)
- class Admin:
- list_display = ('id', 'nome')
-
def __unicode__(self):
return self.nome
@@ -39,9 +33,6 @@ class TipoEquipamento(models.Model):
verbose_name = 'tipo de equipamento'
verbose_name_plural = 'tipos de equipamentos'
- class Admin:
- list_display = ('id', 'tipo')
-
def __unicode__(self):
return self.tipo
@@ -57,9 +48,6 @@ class ModeloEquipamento(models.Model):
verbose_name = 'modelo de equipamento'
verbose_name_plural = 'modelos de equipamentos'
- class Admin:
- list_display = ('id', 'tipo', 'modelo')
-
def __unicode__(self):
return self.modelo
@@ -70,13 +58,8 @@ class Equipamento(models.Model):
class Meta:
unique_together = (('fabricante', 'modelo'),)
- class Admin:
- ordering = ('fabricante', 'modelo')
- list_display = ('id', 'modelo', 'fabricante')
- list_filter = ('fabricante',)
-
def __unicode__(self):
- return self.id
+ return str(self.id)
class Bem(models.Model):
casa_legislativa = models.ForeignKey('casas.CasaLegislativa')
@@ -98,10 +81,6 @@ class Bem(models.Model):
class Meta:
verbose_name_plural = 'bens'
- class Admin:
- ordering = ('casa_legislativa', 'fornecedor', 'equipamento')
- list_display = ('equipamento', 'fornecedor', 'num_serie',
- 'num_tombamento', 'casa_legislativa')
-
def __unicode__(self):
- return '%s (%s)' % (self.equipamento, self.casa_legislativa)
+ return '%s (%s)' % (unicode(self.equipamento),
+ unicode(self.casa_legislativa))
diff --git a/sigi/apps/mesas/admin.py b/sigi/apps/mesas/admin.py
new file mode 100644
index 0000000..20e2dfa
--- /dev/null
+++ b/sigi/apps/mesas/admin.py
@@ -0,0 +1,52 @@
+# -*- coding: utf-8 -*-
+from django.contrib import admin
+from sigi.apps.mesas.models import (Legislatura, Coligacao, ComposicaoColigacao,
+ SessaoLegislativa, MesaDiretora, Cargo,
+ MembroMesaDiretora)
+
+class LegislaturaAdmin(admin.ModelAdmin):
+ list_display = ('numero', 'data_inicio', 'data_fim', 'data_eleicao')
+ list_display_links = ('numero',)
+
+class ColigacaoAdmin(admin.ModelAdmin):
+ list_display = ('nome', 'legislatura', 'numero_votos')
+ list_display_links = ('nome',)
+ search_fields = ('nome',)
+
+class ComposicaoColigacaoAdmin(admin.ModelAdmin):
+ list_display = ('coligacao', 'partido')
+ list_display_links = ('coligacao', 'partido')
+ list_filter = ('partido',)
+
+class SessaoLegislativaAdmin(admin.ModelAdmin):
+ list_display = ('numero', 'mesa_diretora', 'legislatura', 'tipo',
+ 'data_inicio', 'data_fim')
+ list_display_links = ('numero',)
+ list_filter = ('tipo',)
+ radio_fields = {'tipo': admin.VERTICAL}
+
+class CargoAdmin(admin.ModelAdmin):
+ list_display = ('descricao',)
+
+class MembroMesaDiretoraInline(admin.TabularInline):
+ model = MembroMesaDiretora
+ max_num = 11
+ extra = 4
+
+class MembroMesaDiretoraAdmin(admin.ModelAdmin):
+ list_display = ('parlamentar', 'cargo')
+ list_display_links = ('parlamentar', 'cargo')
+ list_filter = ('cargo',)
+ search_fields = ('parlamentar', 'cargo')
+
+class MesaDiretoraAdmin(admin.ModelAdmin):
+ inlines = (MembroMesaDiretoraInline,)
+ list_display = ('id', 'casa_legislativa')
+
+admin.site.register(Legislatura, LegislaturaAdmin)
+admin.site.register(Coligacao, ColigacaoAdmin)
+admin.site.register(ComposicaoColigacao, ComposicaoColigacaoAdmin)
+admin.site.register(SessaoLegislativa, SessaoLegislativaAdmin)
+admin.site.register(MesaDiretora, MesaDiretoraAdmin)
+admin.site.register(Cargo, CargoAdmin)
+admin.site.register(MembroMesaDiretora, MembroMesaDiretoraAdmin)
diff --git a/sigi/apps/mesas/models.py b/sigi/apps/mesas/models.py
index 73ef2f9..a9057fa 100644
--- a/sigi/apps/mesas/models.py
+++ b/sigi/apps/mesas/models.py
@@ -7,10 +7,6 @@ class Legislatura(models.Model):
data_fim = models.DateField('fim')
data_eleicao = models.DateField(u'data da eleição')
- class Admin:
- list_display = ('numero', 'data_inicio', 'data_fim', 'data_eleicao')
- list_display_links = ('numero',)
-
def __unicode__(self):
return str(self.numero)
@@ -28,11 +24,6 @@ class Coligacao(models.Model):
verbose_name = 'coligação'
verbose_name_plural = 'coligações'
- class Admin:
- list_display = ('nome', 'legislatura', 'numero_votos')
- list_display_links = ('nome',)
- search_fields = ('nome',)
-
def __unicode__(self):
return self.nome
@@ -44,11 +35,8 @@ class ComposicaoColigacao(models.Model):
verbose_name = 'composição da coligação'
verbose_name_plural = 'composições das coligações'
- class Admin:
- list_display = ('coligacao', 'partido')
- list_display_links = ('coligacao', 'partido')
- list_filter = ('partido',)
-
+ def __unicode__(self):
+ return str(self.id)
class SessaoLegislativa(models.Model):
SESSAO_CHOICES = (
@@ -64,7 +52,6 @@ class SessaoLegislativa(models.Model):
tipo = models.CharField(
max_length=1,
choices=SESSAO_CHOICES,
- radio_admin=True,
default='O'
)
data_inicio = models.DateField(u'início')
@@ -85,14 +72,8 @@ class SessaoLegislativa(models.Model):
verbose_name = 'Sessão Legislativa'
verbose_name_plural = 'Sessões Legislativas'
- class Admin:
- list_display = ('numero', 'mesa_diretora', 'legislatura', 'tipo',
- 'data_inicio', 'data_fim')
- list_display_links = ('numero',)
- list_filter = ('tipo',)
-
def __unicode__(self):
- return self.numero
+ return str(self.numero)
class MesaDiretora(models.Model):
casa_legislativa = models.ForeignKey(
@@ -104,11 +85,8 @@ class MesaDiretora(models.Model):
verbose_name = 'Mesa Diretora'
verbose_name_plural = 'Mesas Diretoras'
- class Admin:
- list_display = ('id', 'casa_legislativa')
-
def __unicode__(self):
- return self.id
+ return 'Mesa Diretora da(o) %s' % unicode(self.casa_legislativa)
class Cargo(models.Model):
descricao = models.CharField(u'descrição', max_length=30)
@@ -116,9 +94,6 @@ class Cargo(models.Model):
class Meta:
ordering = ('descricao',)
- class Admin:
- list_display = ('descricao',)
-
def __unicode__(self):
return self.descricao
@@ -128,24 +103,12 @@ class MembroMesaDiretora(models.Model):
core=True,
)
cargo = models.ForeignKey(Cargo, core=True)
- mesa_diretora = models.ForeignKey(
- MesaDiretora,
- edit_inline=True,
- max_num_in_admin=11,
- num_extra_on_change=4,
- num_in_admin=4
- )
+ mesa_diretora = models.ForeignKey(MesaDiretora)
class Meta:
ordering = ('parlamentar',)
verbose_name = 'membro de Mesa Diretora'
verbose_name_plural = 'membros de Mesas Diretora'
- class Admin:
- list_display = ('parlamentar', 'cargo')
- list_display_links = ('parlamentar', 'cargo')
- list_filter = ('cargo',)
- search_fields = ('parlamentar', 'cargo')
-
def __unicode__(self):
- return '%s (%s)' % (self.parlamentar, self.cargo)
+ return '%s (%s)' % (unicode(self.parlamentar), unicode(self.cargo))
diff --git a/sigi/apps/parlamentares/admin.py b/sigi/apps/parlamentares/admin.py
new file mode 100644
index 0000000..abc8cef
--- /dev/null
+++ b/sigi/apps/parlamentares/admin.py
@@ -0,0 +1,23 @@
+# -*- coding: utf-8 -*-
+from django.contrib import admin
+from sigi.apps.parlamentares.models import Partido, Parlamentar, Mandato
+
+class PartidoAdmin(admin.ModelAdmin):
+ list_display = ('nome', 'sigla')
+ list_display_links = ('nome', 'sigla')
+
+class ParlamentarAdmin(admin.ModelAdmin):
+ list_display = ('nome_completo', 'nome_parlamentar', 'sexo')
+ list_display_links = ('nome_completo', 'nome_parlamentar')
+ list_filter = ('sexo',)
+ radio_fields = {'sexo': admin.VERTICAL}
+
+class MandatoAdmin(admin.ModelAdmin):
+ list_display = ('parlamentar', 'legislatura', 'partido',
+ 'inicio_mandato', 'fim_mandato', 'is_afastado')
+ list_filter = ('is_afastado', 'partido', 'suplencia')
+ radio_fields = {'suplencia': admin.VERTICAL}
+
+admin.site.register(Partido, PartidoAdmin)
+admin.site.register(Parlamentar, ParlamentarAdmin)
+admin.site.register(Mandato, MandatoAdmin)
diff --git a/sigi/apps/parlamentares/models.py b/sigi/apps/parlamentares/models.py
index 999a024..0b46ee9 100644
--- a/sigi/apps/parlamentares/models.py
+++ b/sigi/apps/parlamentares/models.py
@@ -9,12 +9,8 @@ class Partido(models.Model):
class Meta:
ordering = ('nome',)
- class Admin:
- list_display = ('nome', 'sigla')
- list_display_links = ('nome', 'sigla')
-
def __unicode__(self):
- return '%s (%s)' % (self.nome, self.sigla)
+ return '%s (%s)' % (unicode(self.nome), unicode(self.sigla))
class Parlamentar(models.Model):
SEXO_CHOICES = (
@@ -34,7 +30,6 @@ class Parlamentar(models.Model):
sexo = models.CharField(
max_length=1,
choices=SEXO_CHOICES,
- radio_admin=True
)
data_nascimento = models.DateField(
'data de nascimento',
@@ -50,18 +45,13 @@ class Parlamentar(models.Model):
help_text="Formato: XXXXX-XXX."
)
telefones = generic.GenericRelation('contatos.Telefone')
- pagina_web = models.URLField('página web')
+ pagina_web = models.URLField(u'página web')
email = models.EmailField('e-mail')
class Meta:
ordering = ('nome_completo',)
verbose_name_plural = 'parlamentares'
- class Admin:
- list_display = ('nome_completo', 'nome_parlamentar', 'sexo')
- list_display_links = ('nome_completo', 'nome_parlamentar')
- list_filter = ('sexo',)
-
def __unicode__(self):
if self.nome_parlamentar:
return self.nome_parlamentar
@@ -75,21 +65,15 @@ class Mandato(models.Model):
parlamentar = models.ForeignKey(Parlamentar)
legislatura = models.ForeignKey('mesas.Legislatura')
partido = models.ForeignKey(Partido)
- inicio_mandato = models.DateField('início de mandato')
+ inicio_mandato = models.DateField(u'início de mandato')
fim_mandato = models.DateField('fim de mandato')
is_afastado = models.BooleanField(
'Afastado',
default=False,
- help_text='Marque caso parlamentar não esteja ativo'
+ help_text=u'Marque caso parlamentar não esteja ativo'
)
suplencia = models.CharField(
- 'suplência',
+ u'suplência',
max_length=1,
choices=SUPLENCIA_CHOICES,
- radio_admin=True
)
-
- class Admin:
- list_display = ('parlamentar', 'legislatura', 'partido',
- 'inicio_mandato', 'fim_mandato', 'is_afastado')
- list_filter = ('is_afastado', 'partido', 'suplencia')
diff --git a/sigi/apps/servicos/admin.py b/sigi/apps/servicos/admin.py
new file mode 100644
index 0000000..ffa2f80
--- /dev/null
+++ b/sigi/apps/servicos/admin.py
@@ -0,0 +1,9 @@
+# -*- coding: utf-8 -*-
+from django.contrib import admin
+from sigi.apps.servicos.models import Servico
+
+class ServicoAdmin(admin.ModelAdmin):
+ list_display = ('id', 'tipo', 'situacao', 'avaliacao')
+ list_filter = ('situacao', 'avaliacao',)
+
+admin.site.register(Servico, ServicoAdmin)
diff --git a/sigi/apps/servicos/models.py b/sigi/apps/servicos/models.py
index 54948fd..e796389 100644
--- a/sigi/apps/servicos/models.py
+++ b/sigi/apps/servicos/models.py
@@ -48,9 +48,5 @@ class Servico(models.Model):
verbose_name = 'serviço'
verbose_name_plural = 'serviços'
- class Admin:
- list_display = ('id', 'tipo', 'situacao', 'avaliacao')
- list_filter = ('situacao', 'avaliacao',)
-
def __unicode__(self):
- return self.id
+ return str(self.id)