from django.db import models from ordered_model.models import OrderedModel class Article(models.Model): title = models.CharField(max_length=255) description = models.TextField() content = models.TextField() date_created = models.DateTimeField(auto_now_add=True) date_modified = models.DateTimeField(auto_now=True) category = models.ForeignKey("Category", on_delete=models.CASCADE, null=True, blank=True) tags = models.ManyToManyField("Tag", blank=True) author = models.ForeignKey("user.User", on_delete=models.CASCADE, null=True, blank=True) def __str__(self): return self.title class Category(OrderedModel): name = models.CharField(max_length=255) class Meta(OrderedModel.Meta): verbose_name_plural = "Categories" def __str__(self): return self.name class Tag(models.Model): name = models.CharField(max_length=255) def __str__(self): return self.name class Comment(models.Model): author = models.ForeignKey("user.User", on_delete=models.CASCADE) article = models.ForeignKey("Article", on_delete=models.CASCADE) content = models.TextField() date_created = models.DateTimeField(auto_now_add=True) date_modified = models.DateTimeField(auto_now=True) response_to = models.ForeignKey("self", on_delete=models.CASCADE, null=True, blank=True)