48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
|
from django.contrib.auth import get_user_model
|
||
|
from django.db import models
|
||
|
from django.forms import ModelForm
|
||
|
from django import forms
|
||
|
# Create your models here.
|
||
|
|
||
|
User = get_user_model()
|
||
|
|
||
|
class Author(models.Model):
|
||
|
user = models.OneToOneField(User, on_delete=models.CASCADE)
|
||
|
def __str__(self):
|
||
|
return self.user.username
|
||
|
|
||
|
class Category(models.Model):
|
||
|
title = models.CharField(max_length=20)
|
||
|
subtitle = models.CharField(max_length=20)
|
||
|
slug = models.SlugField()
|
||
|
def __str__(self):
|
||
|
return self.title
|
||
|
|
||
|
class Post(models.Model):
|
||
|
title = models.CharField(max_length=100)
|
||
|
author = models.ForeignKey(Author, on_delete=models.CASCADE)
|
||
|
slug = models.SlugField()
|
||
|
overview = models.TextField()
|
||
|
timestamp = models.DateTimeField(auto_now_add=True)
|
||
|
content = models.TextField()
|
||
|
categories = models.ManyToManyField(Category)
|
||
|
featured = models.BooleanField()
|
||
|
|
||
|
def __str__(self):
|
||
|
return self.title
|
||
|
|
||
|
class Contact(models.Model):
|
||
|
pseudonym = models.CharField(max_length=250)
|
||
|
mail = models.EmailField(blank=True)
|
||
|
betreff = models.CharField(max_length=500)
|
||
|
nachricht = models.CharField(max_length=10000)
|
||
|
timestamp = models.DateTimeField(auto_now_add=True)
|
||
|
|
||
|
def __str__(self):
|
||
|
return self.pseudonym
|
||
|
|
||
|
class ContactForm(ModelForm):
|
||
|
class Meta:
|
||
|
model = Contact
|
||
|
fields = ["pseudonym", "mail", "betreff", "nachricht"]
|