class Speaker(models.Model): name = models.CharField(verbose_name=i18n('Name'), max_length=200) short_bio = models.TextField(verbose_name=i18n('Biografy')) email = models.EmailField(verbose_name=i18n('Email')) github = models.CharField(verbose_name=i18n('Github Nickname'), max_length=55, blank=True, null=True) twitter = models.CharField(verbose_name=i18n('Twitter Nickname'), max_length=55, blank=True, null=True) class Meta: verbose_name = i18n('Speaker') verbose_name_plural = i18n('Speakers') def __unicode__(self): return self.name def github_url(self): return 'http://github.com/%s' % self.github def twitter_url(self): return 'http://twitter.com/%s' % self.twitter
class Sponsor(models.Model): TYPE_CHOICES = ( ('diamond', i18n('Diamond')), ('platinum', i18n('Platinum')), ('gold', i18n('Gold')), ('silver', i18n('Silver')), ) name = models.CharField( verbose_name=i18n('Name'), max_length=200 ) url = models.URLField( verbose_name=i18n('URL'), blank=True, null=True ) thumbnail = models.ImageField( verbose_name=i18n('Thumbnail'), upload_to='/sponsors/thumbnail/' ) picture = models.ImageField( verbose_name=i18n('Picture'), upload_to='/sponsors/' ) tsponsor = models.CharField( verbose_name=i18n('Type of sponsor'), choices=TYPE_CHOICES, max_length=10 ) class Meta: verbose_name = i18n('Sponsor') verbose_name_plural = i18n('Sponsors') def __unicode__(self): return '%s - %s' % (self.tsponsor, self.name)
class Slot(models.Model): TYPE_CHOICES = ( ('talk', i18n('Talks')), ('other', i18n('Other')), ) title = models.CharField(verbose_name=i18n('Title'), max_length=280) time = models.DateTimeField(verbose_name=i18n('Schedule hour')) abstract = models.TextField(verbose_name=i18n('Abstract'), blank=True, null=True) tslot = models.CharField(verbose_name=i18n('Type of slot'), choices=TYPE_CHOICES, max_length=10) speaker = models.ForeignKey(Speaker, verbose_name=i18n('Speaker'), null=True) class Meta: verbose_name = i18n('Slot') verbose_name_plural = i18n('Slots') ordering = ['-time'] def __unicode__(self): return u'{} - {}'.format(self.time, self.title)
class Meta: verbose_name = i18n('Slot') verbose_name_plural = i18n('Slots') ordering = ['-time']
class Meta: verbose_name = i18n('Speaker') verbose_name_plural = i18n('Speakers')
class Meta: verbose_name = i18n('Sponsor') verbose_name_plural = i18n('Sponsors')
# editable = false # primary_key = autogenerated integer ## Other options are: # choices = (('A', 'Alpha'), ('B', 'Beta'),) # default = 'default value' || 25 # verbose_name = "A nicer form name" # help_text = "A message to assist in form widgets." # db_column = "specific_database_column_name" # unique_for_date & unique_for_month & unique_for_year # if field title has unique_for_date="pub_date" # then no two entries can have the same title & pub_date. # validators = https://docs.djangoproject.com/en/1.9/ref/validators/ PROJECT_PHASES = ( ('0', i18n('Pre-Construction')), ('5', i18n('Construction')), ('10', i18n('Completed')), ) class Project(models.Model): """Project is a single fundable item, business, building, task, etc.""" name = models.CharField(max_length=400) description = models.TextField( null=True, blank=True, ) slug = models.SlugField(unique=True) # address = models.ForeignKey(ProjectLocation) # images = models.ForeignKey(ProjectImage)