impuls/website/models.py

48 lines
1.4 KiB
Python
Raw Normal View History

2023-10-03 17:55:41 +02:00
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"]