2013-05-18 10:12:57 +00:00
|
|
|
from django.db import models
|
2020-09-26 21:21:43 +00:00
|
|
|
from django.utils.translation import gettext_lazy as _
|
2013-05-18 10:12:57 +00:00
|
|
|
|
2013-05-18 14:59:06 +00:00
|
|
|
|
2013-05-18 10:12:57 +00:00
|
|
|
class Post(models.Model):
|
2013-07-07 08:15:22 +00:00
|
|
|
title = models.CharField(max_length=255, verbose_name=_('title'))
|
|
|
|
|
body = models.TextField(verbose_name=_('body'))
|
|
|
|
|
published = models.BooleanField(default=False, verbose_name=_('published'))
|
2013-07-31 21:31:23 +00:00
|
|
|
published_date = models.DateField(blank=True, null=True)
|
2013-05-18 10:12:57 +00:00
|
|
|
|
2014-11-26 15:42:17 +00:00
|
|
|
def __str__(self):
|
2013-05-18 11:44:00 +00:00
|
|
|
return self.title
|
|
|
|
|
|
2013-07-07 08:15:22 +00:00
|
|
|
class Meta:
|
|
|
|
|
verbose_name = _('post')
|
|
|
|
|
verbose_name_plural = _('posts')
|
|
|
|
|
|
2013-05-18 14:59:06 +00:00
|
|
|
|
2013-05-18 10:12:57 +00:00
|
|
|
class Comment(models.Model):
|
2014-11-26 15:42:17 +00:00
|
|
|
post = models.ForeignKey(
|
2018-05-10 18:34:03 +00:00
|
|
|
Post, verbose_name=_('post'), related_name="comments",
|
|
|
|
|
on_delete=models.CASCADE)
|
2013-07-07 08:15:22 +00:00
|
|
|
body = models.TextField(verbose_name=_('body'))
|
2013-05-18 11:44:00 +00:00
|
|
|
|
2014-11-26 15:42:17 +00:00
|
|
|
def __str__(self):
|
2013-05-19 08:09:12 +00:00
|
|
|
return self.body
|
2013-05-25 14:52:58 +00:00
|
|
|
|
2013-07-07 08:15:22 +00:00
|
|
|
class Meta:
|
|
|
|
|
verbose_name = _('comment')
|
|
|
|
|
verbose_name_plural = _('comments')
|
|
|
|
|
|
2013-05-25 14:52:58 +00:00
|
|
|
|
2014-11-26 15:42:17 +00:00
|
|
|
# Models needed for testing NestedObjects
|
2013-05-25 14:52:58 +00:00
|
|
|
|
|
|
|
|
class Count(models.Model):
|
|
|
|
|
num = models.PositiveSmallIntegerField()
|
2018-05-10 18:34:03 +00:00
|
|
|
parent = models.ForeignKey('self', null=True, on_delete=models.CASCADE)
|
2013-05-25 14:52:58 +00:00
|
|
|
|
|
|
|
|
def __str__(self):
|
2020-09-26 21:21:43 +00:00
|
|
|
return str(self.num)
|
2013-05-25 14:52:58 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
class Event(models.Model):
|
|
|
|
|
date = models.DateTimeField(auto_now_add=True)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Location(models.Model):
|
2018-05-10 18:49:17 +00:00
|
|
|
event = models.OneToOneField(
|
|
|
|
|
Event, verbose_name='awesome event',
|
|
|
|
|
on_delete=models.CASCADE
|
|
|
|
|
)
|
2013-05-25 14:52:58 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
class Guest(models.Model):
|
2018-05-10 18:49:17 +00:00
|
|
|
event = models.OneToOneField(Event, on_delete=models.CASCADE)
|
2013-05-25 14:52:58 +00:00
|
|
|
name = models.CharField(max_length=255)
|
|
|
|
|
|
|
|
|
|
class Meta:
|
|
|
|
|
verbose_name = "awesome guest"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class EventGuide(models.Model):
|
|
|
|
|
event = models.ForeignKey(Event, on_delete=models.DO_NOTHING)
|