from django.db import models from django.contrib.auth.models import User class Talk(models.Model): CATEGORIES = ( # Copied from https://foss.in/2006/cfp/delegates/stats.php ('OS', 'Operating Systems'), ('DT', 'Developer Tools and Languages'), ('WD', 'Web Development'), ('KD', 'Kernel Development'), ('OST', 'Open Standards'), ('SS', 'Servers and Services'), ('HPC', 'High Performance Computing'), ('ES', 'Embedded Systems'), ('DC', 'Desktop Computing'), ('EP', 'Education Projects'), ('TE', 'Telecom'), ('SOC', 'Social Aspects of FOSS'), ('BUS', 'Business and Commerce'), ('LOC', 'Localisation'), ('GOV', 'Government') ) talk_name = models.CharField (maxlength=255) presentation_file = models.FileField (upload_to = 'fill-in-here') # Is it # possible to have a list of files? talk_status = models.BooleanField() category = models.CharField (choices=CATEGORIES) class Admin: pass class UserProfile(models.Model): def __str__(self): return self.user.get_full_name() activation_key = models.CharField(maxlength=40) key_expires = models.DateTimeField() user = models.OneToOneField(User) class Admin: pass class Speaker(models.Model): user = models.ForeignKey(UserProfile) registered_talks = models.ManyToMany(Talk) class Admin: pass