From 10db6271ce895d95043162d96fb2a8eefba48610 Mon Sep 17 00:00:00 2001 From: Youngkwang Yang Date: Thu, 24 Jul 2025 02:19:39 +0900 Subject: [PATCH] Add demo models with auditlog features - Add Post, Category, Tag models demonstrating various field types --- sample_project/demo/models.py | 62 +++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 sample_project/demo/models.py diff --git a/sample_project/demo/models.py b/sample_project/demo/models.py new file mode 100644 index 0000000..bd00b33 --- /dev/null +++ b/sample_project/demo/models.py @@ -0,0 +1,62 @@ +from django.conf import settings +from django.db import models + + +class Category(models.Model): + """Blog post category model for organizing content.""" + + name = models.CharField(max_length=50, help_text="Category name") + + class Meta: + verbose_name = "Category" + verbose_name_plural = "Categories" + ordering = ["name"] + + def __str__(self): + return self.name + + +class Tag(models.Model): + """Tag model for labeling posts with keywords.""" + + name = models.CharField(max_length=50, help_text="Tag name") + + class Meta: + verbose_name = "Tag" + verbose_name_plural = "Tags" + ordering = ["name"] + + def __str__(self): + return self.name + + +class Post(models.Model): + """Blog post model demonstrating auditlog tracking with various field types.""" + + author = models.ForeignKey( + settings.AUTH_USER_MODEL, + on_delete=models.SET_NULL, + null=True, + blank=True, + help_text="Post author", + ) + category = models.ForeignKey( + Category, + on_delete=models.SET_NULL, + null=True, + blank=True, + help_text="Post category", + ) + tags = models.ManyToManyField(Tag, blank=True, help_text="Post tags") + title = models.CharField(max_length=200, help_text="Post title") + content = models.TextField(help_text="Post content") + created_at = models.DateTimeField(auto_now_add=True) + updated_at = models.DateTimeField(auto_now=True) + + class Meta: + verbose_name = "Post" + verbose_name_plural = "Posts" + ordering = ["-created_at"] + + def __str__(self): + return self.title