This repository has been archived on 2019-10-13. You can view files and clone it, but cannot push or open issues or pull requests.
2018-01-17 01:18:33 +01:00

42 lines
1.5 KiB
Python

from __future__ import unicode_literals
from django.utils import timezone
from django.db import models
MAX_EVENT_ID_LENGTH = 64
MAX_EVENT_TITLE_LENGTH = 256
MAX_EVENT_CATEGORY_LENGTH = 64
MAX_EVENT_LINK_LENGTH = 512
MAX_EVENT_PRESENTER_LENGTH = 256
MAX_EVENT_ORGNAME_LENGTH = 256
MAX_LOCATION_KEY_LENGTH = 128
MAX_LOCATION_NAME_LENGTH = 256
# Create your models here.
class Event(models.Model):
id = models.AutoField(primary_key=True)
title = models.CharField(blank=False, max_length=MAX_EVENT_TITLE_LENGTH)
category = models.CharField(blank=False, max_length=MAX_EVENT_CATEGORY_LENGTH)
link = models.CharField(blank=True, max_length=MAX_EVENT_LINK_LENGTH)
locations = models.ManyToManyField('Location', blank=False)
date = models.DateField(blank=False, default=timezone.now)
time = models.TimeField(blank=False, default=timezone.now)
presenter = models.CharField(blank=True, max_length=MAX_EVENT_PRESENTER_LENGTH)
orgname = models.CharField(blank=True, max_length=MAX_EVENT_ORGNAME_LENGTH)
def __str__(self):
return "Date: %s, Titel: %s" % (self.date.strftime("%Y.%m.%d"), self.title)
class Meta:
unique_together = ('date', 'time', 'title')
class Location(models.Model):
id = models.AutoField(primary_key=True)
key = models.CharField(blank=True, max_length=MAX_LOCATION_KEY_LENGTH)
name = models.CharField(blank=False, unique=True, max_length=MAX_LOCATION_NAME_LENGTH)
def __str__(self):
return str(self.name)