class Event(models.Model): title = models.CharField(max_length=255) description = models.CharField(max_length=255) event_date = models.DateField() # whatever other fields / relationships created_at = models.DateTimeField(auto_now=True) updated_at = models.DateTimeField(auto_now_add=True)
class Comment(models.Model): content = models.CharField(max_length=1000) member = models.ForeignKey(Member, related_name="comments") work = models.ForeignKey(Work, related_name="comments") created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) objects = CommentManager()
class Reply(models.Model): content = models.CharField(max_length=1000) member = models.ForeignKey(Member, related_name="replies") comment = models.ForeignKey(Comment, related_name="replies") created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) objects = ReplyManager()
class User(models.Model): firstname = models.CharField(max_length=255) lastname = models.CharField(max_length=255) email = models.CharField(max_length=255) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) objects = UserManager()
class Work(models.Model): title = models.CharField(max_length=100) year = models.IntegerField() desc = models.CharField(max_length=255) author = models.ForeignKey(User, related_name="works") created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) objects = WorkManager()
class Quote(models.Model): speaker = models.CharField(max_length=100, default="") message = models.CharField(max_length=255, default="") posted_by = models.ForeignKey(Member, related_name="posts") liked_by = models.ManyToManyField(Member, related_name="favs") created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) objects = QuoteManager()
class Activity(models.Model): title = models.CharField(max_length=222) description = models.CharField(max_length=1000) participant = models.ManyToManyField(User, related_name="participant") coordinator = models.ForeignKey(User, related_name="coordinator") created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) startdatetime = models.DateTimeField() enddatetime = models.DateTimeField() objects = ActivityManager()
class Item(models.Model): name = models.CharField(max_length=25) added_by = models.ForeignKey(Member, related_name="added_items") liked_by = models.ManyToManyField(Member, related_name="liked_items", default="") posted_date = models.DateField(default=datetime.date.today) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) objects = ItemManager()
class User(models.Model): fname = models.CharField(max_length=255) lname = models.CharField(max_length=255) email = models.CharField(max_length=255) password = models.CharField(max_length=255) created_at = models.DateTimeField(auto_now_add = True) updated_at = models.DateTimeField(auto_now = True) def __repr__(self): return "<User {}| {} {}| {}".format(self.id, self.fname, self.lname, self.email) objects = UserManager()
class Work(models.Model): title = models.CharField(max_length=100) year = models.IntegerField() desc = models.CharField(max_length=255) worktype = models.CharField(max_length=100, default="") author = models.ForeignKey(Author, related_name="works") excerpt = models.CharField(max_length=1500, default="") link = models.CharField(max_length=200, default="") liked_by = models.ManyToManyField(Member, related_name="liked_work") created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) objects = WorkManager()
class Author(models.Model): firstname = models.CharField(max_length=255) middlename = models.CharField(max_length=255, default="") lastname = models.CharField(max_length=255) sex = models.CharField(max_length=20, default="female") span = models.CharField(max_length=20, default="") bio = models.CharField(max_length=1000, default="") link = models.CharField(max_length=100, default="") liked_by = models.ManyToManyField(Member, related_name="liked_author") created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) objects = AuthorManager()
class Profile(models.Model): """ Common profile model pieces. """ data_manager = None date_added = models.DateTimeField(_('date added'), auto_now_add=True) date_verified = models.DateTimeField(_('date verified'), default=datetime.now) is_verified = models.BooleanField(default=False) class Meta: abstract = True def _get_data_item(self): # Find profile data for this profile id for network in self.data_manager.data: if network['id'] == self.network_id: return network return None data_item = property(_get_data_item) def _get_name(self): # Profile display name return self.data_item['name'] name = property(_get_name) def _get_url(self): # Profile URL with username return self.data_item['url'] % self.username url = property(_get_url) def _get_icon_name(self): # Icon name return self.data_item['icon'] icon_name = property(_get_icon_name) def _get_icon(self): # Icon URL or link to Google icon service if self.icon_name: print reverse('elsewhere_img', args=[self.icon_name]) print self.icon_name return reverse('elsewhere_img', args=[self.icon_name]) return GOOGLE_PROFILE_URL % self.url icon = property(_get_icon)
class User(models.Model): name = models.CharField(max_length=255) email = models.CharField(max_length=255, unique=True) password = models.CharField(max_length=60) last_4_digits = models.CharField(max_length=4) stripe_id = models.CharField(max_length=255) subscribed = models.BooleanField(default=False) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) def __str__(self): return self.name def set_password(self, clear_password): salt = bcrypt.gensalt(settings.BCRYPT_ROUNDS) self.password = bcrypt.hashpw(clear_password, salt) def check_password(self, clear_password): return bcrypt.hashpw(clear_password, self.password) == self.password
class Post (models.Model): title = models.CharField(max_length=50) content = models.CharField(max_length=100) pubdate = models.DateTimeField() def __str__(self): return self.title def date(self): return self.pubdate.strftime('%b %e %Y')
class Cart(models.Model): creation_date = models.DateTimeField(verbose_name=_('creation date')) checked_out = models.BooleanField(default=False, verbose_name=_('checked out')) class Meta: verbose_name = _('cart') verbose_name_plural = _('carts') ordering = ('-creation_date',) def __unicode__(self): return unicode(self.creation_date)
class Character(models.Model): created_by = models.ForeignKey(User,related_name='player', on_delete=models.CASCADE) created_date = models.DateTimeField(blank=True, default=datetime.datetime.now) first_name = models.CharField(max_length=32) surname = models.CharField(max_length=32) age = models.PositiveSmallIntegerField(default=18) race = models.CharField(max_length=12) aura = models.CharField(max_length=64) sembelence = models.CharField(max_length=64) gender = models.CharField(max_length=10) fanuas_type = models.CharField(max_length=32, blank=True, null=True) citizenship = models.CharField(max_length=32) occupation = models.CharField(max_length=32) background = models.TextField(max_length=512, blank=True, null=True) def __str__(self): return self.surname + ", " + self.first_name
class Meal(models.Model): organizer = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='organizer') time = models.DateTimeField(null=True, blank=True) location = models.CharField(max_length=100) required = models.NullBooleanField(default=None)
class Items(models.Model): name = models.CharField(max_length=255) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) creator = models.ForeignKey("User", related_name = "creator") adder = models.ManyToManyField("User", related_name = "adder")
class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published')
class Wish(models.Model): wish = models.ForeignKey(Item, related_name='wishers') wisher = models.ForeignKey(User, related_name='wishes') created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True)
class Event(models.Model): class Meta: verbose_name = _('event') verbose_name_plural = _('events') ordering = ['-event_date', '-start_time', '-title'] get_latest_by = 'event_date' permissions = (("change_author", ugettext("Change author")), ) unique_together = ("event_date", "slug") def __unicode__(self): return _("%(title)s on %(event_date)s") % { 'title': self.title, 'event_date': self.event_date } @models.permalink def get_absolute_url(self): return ('agenda-detail', (), { 'year': self.event_date.year, 'month': self.event_date.month, 'day': self.event_date.day, 'slug': self.slug }) objects = models.Manager() on_site = CurrentSiteManager() published = PublicationManager() # Core fields title = models.CharField(_('title'), max_length=255) slug = models.SlugField(_('slug'), db_index=True) event_date = models.DateField(_('date')) start_time = models.TimeField(_('start time'), blank=True, null=True) end_time = models.TimeField(_('end time'), blank=True, null=True) location = models.ForeignKey(Location, blank=True, null=True) description = models.TextField(_('description')) calendar = models.ForeignKey("Calendar", blank=True, null=True, related_name='events') # Extra fields add_date = models.DateTimeField(_('add date'), auto_now_add=True) mod_date = models.DateTimeField(_('modification date'), auto_now=True) author = models.ForeignKey(User, verbose_name=_('author'), db_index=True, blank=True, null=True) publish_date = models.DateTimeField(_('publication date'), default=datetime.now()) publish = models.BooleanField(_('publish'), default=True) allow_comments = models.BooleanField(_('Allow comments'), default=True) sites = models.ManyToManyField(Site) def save(self): super(Event, self).save() if not settings.DEBUG: try: ping_google() except Exception: import logging logging.warn('Google ping on save did not work.')
class Item(models.Model): title = models.CharField(max_length=255) user = models.ForeignKey(User, related_name='items') created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True)
class User(models.Model): first_name = models.CharField(max_length=255) last_name = models.CharField(max_length=255) # whatever other fields created_at = models.DateTimeField(auto_now=True) updated_at = models.DateTimeField(auto_now_add=True)
class TimeAuditModel(models.Model): created_at = models.DateTimeField(auto_now_add=True, verbose_name="Created At") modified_at = models.DateTimeField(auto_now=True, verbose_name="Last Modified At") class Meta: abstract = True