TKO/services/backend/tko/models.py
Nikola Kubeczkova 6df90a66d3 add wagtail
2025-03-13 08:14:46 +01:00

57 lines
No EOL
1.7 KiB
Python

from django.db import models
from wagtail.admin.panels import FieldPanel
from wagtail.fields import RichTextField
from wagtail.models import Page
from datetime import date
# Create your models here.
class Contact(models.Model):
name = models.CharField(max_length=100)
email = models.EmailField()
phone_number = models.CharField(max_length=16)
content = models.TextField()
def __str__(self):
return f"{self.name}, {self.email}, {self.phone_number}"
class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
image = models.FileField(default="default.png", blank=True)
date = models.DateField(auto_now_add=True)
author = models.CharField(max_length=100)
active_to = models.DateField(null=True, blank=True) # do not show some invitation after this date
def __str__(self):
return self.title
class Event(models.Model):
title = models.CharField(max_length=100)
start_date = models.DateTimeField()
end_date = models.DateTimeField()
color = models.CharField(max_length=100)
def __str__(self):
return self.title
class EventPage(Page):
start_date = models.DateTimeField()
end_date = models.DateTimeField()
color = models.CharField(max_length=100)
content_panels = Page.content_panels + ["start_date", "end_date", "color"]
class ArticlePage(Page):
name = models.CharField(max_length=100)
content = models.CharField(max_length=500)
image = models.ManyToManyField('wagtailimages.Image')
date = models.DateField(default=date.today)
author = models.CharField(max_length=100)
content_panels = Page.content_panels + ["name", "content", "image", "date", "author", "expire_at"]