from django.db import models from django.conf import settings from enum import Enum # Create your models here. class PostState(Enum): PUBLISHED = 1 DRAFT = 2 PROGRAMMED = 3 class Post(models.Model): author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) title = models.CharField(max_length=200) body = models.CharField(max_length=10000) url = models.CharField(max_length=200) date = models.DateTimeField('date published') state = models.IntegerField(default=0) image_url = models.CharField(max_length=100) # state: posted, draft, waiting for submission # image def __str__(self): return self.title class Comment(models.Model): author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) post = models.ForeignKey(Post, on_delete=models.CASCADE, null=True) parent_comment = models.ForeignKey("self", on_delete=models.CASCADE, null=True) body = models.CharField(max_length=100) votes = models.IntegerField(default=0) date = models.DateTimeField('date published') def __str__(self): return self.content class Player(models.Model): name = models.CharField(max_length=100) post = models.ForeignKey(Post, on_delete=models.CASCADE) image_url = models.CharField(max_length=100) def __str__(self): return self.name # photo class Tag(models.Model): name = models.CharField(max_length=100) post = models.ForeignKey(Post, on_delete=models.CASCADE) def __str__(self): return self.name