40 lines
1.4 KiB
Python
40 lines
1.4 KiB
Python
from django.db import models
|
|
import datetime
|
|
from django.utils import timezone
|
|
from django.core.paginator import Paginator
|
|
class Category(models.Model):
|
|
name=models.CharField(max_length=50)
|
|
created_at = models.DateTimeField(auto_now_add=True)
|
|
class User(models.Model):
|
|
name = models.CharField(max_length=20)
|
|
created_at = models.DateTimeField(auto_now_add=True)
|
|
class Post(models.Model):
|
|
text = models.TextField()
|
|
created_at = models.DateTimeField(auto_now_add=True)
|
|
authors=models.ManyToManyField(User)
|
|
category = models.ForeignKey(Category, on_delete=models.CASCADE)
|
|
@staticmethod
|
|
def getTodays():
|
|
return Post.objects.filter(created_at=timezone.datetime.today())
|
|
@staticmethod
|
|
def getPage(page:int):
|
|
a = Post.objects.all()
|
|
paginator = Paginator(a,5)
|
|
return paginator.get_page(page)
|
|
class StaticPage(models.Model):
|
|
own_text = models.TextField()
|
|
post = models.ForeignKey(Post,on_delete=models.CASCADE)
|
|
|
|
class MenuEntry(models.Model):
|
|
link = models.TextField()
|
|
alt = models.TextField()
|
|
class Menu(models.Model):
|
|
entry = models.ManyToManyField(MenuEntry)
|
|
|
|
class Comment(models.Model):
|
|
post = models.ForeignKey(Post,on_delete=models.CASCADE)
|
|
author=models.ForeignKey(User,on_delete=models.CASCADE)
|
|
unregistered_author = models.CharField(max_length=20)
|
|
text = models.TextField()
|
|
class Config(models.Model):
|
|
topMenu = models.ForeignKey(Menu, on_delete=models.CASCADE) |