Source code for speakers.models

# -*- coding:utf-8 -*-

# Core Django imports
from django.db import models
from django.utils.translation import ugettext as _
from django.core.urlresolvers import reverse

# Realative imports of the 'app-name' package
from core.models import TimeStampedModel
from .managers import SpeakerMostRecentCreatedManager


[docs]class Speaker(TimeStampedModel): """ Classe model para criar um objeto model de palestrante. """ name = models.CharField( verbose_name=_(u'Nome'), max_length=255 ) """ Atributo da classe Speaker para setar o nome do palestrante. Caracteristicas: max length: 255 """ slug = models.SlugField( verbose_name=_(u'Slug'), unique=True ) """ Atributo da classe Speaker para setar o slug do palestrante. Caracteristicas: max length: 255 unique: True """ bio = models.TextField( verbose_name=_(u'Biográfia'), blank=True, null=True, default='' ) """ Atributo da classe Speaker para setar a biografria do palestrante. Caracteristicas: TextField """ objects = SpeakerMostRecentCreatedManager()
[docs] def get_absolute_url(self): """ Retorna o caminho absoluto da instancia do objeto, através do reverse usando namespace definido no arquivo urls.py """ return reverse('speakers:speaker-detail-view', args=[self.slug])
[docs] class Meta: """ Seta a ordenação da listagem pelo campo `created` ascendente Nome da app no singular e plural """ ordering = ['created'] verbose_name = _(u'Palestrante') verbose_name_plural = _(u'Palestrantes')
def __unicode__(self): """ Retorna o nome do palestrante como unicode. """ return u'%s' % (self.name)
[docs]class KindContact(models.Model): """Classe para o contato""" KINDS = ( ('PH', _('Telefone')), ('E', _('E-mail')), ('FX', _('Fax')), ('FB', _('Facebook')), ('TT', _('Twitter')), ('GH', _('Github')), ('GG', _('Google')), ) speaker = models.ForeignKey( 'Speaker', verbose_name=_('Palestrante'), related_name='contacts' ) """ Atributo da classe KindContact para referenciar ao objeto da classe speaker """ kind = models.CharField( _(u'Tipo'), max_length=2, choices=KINDS ) """ Atributo da classe KindContact para escolher as opcoes setada na tupla KINDS Caracteristicas: CharField max length: 2 """ value = models.CharField( _(u'Valor'), max_length=255 ) """ Atributo da classe KindContact para setar o valor da opção escolhida Caracteristicas: CharField max length: 255 """ class Meta: """ """ verbose_name = _(u'Contato') def __unicode__(self): """ Retorna o tipo e valor como unicode. """ return u'%s, %s' % (self.kind, self.value)