from django.db import models class Topic(models.Model): name = models.CharField(max_length=100, unique=True) def __str__(self): return self.name class Subtopic(models.Model): topic = models.ForeignKey(Topic, on_delete=models.CASCADE) name = models.CharField(max_length=100) class Meta: unique_together = ('topic', 'name') def __str__(self): return f"{self.topic.name} - {self.name}" class Post(models.Model): subtopic = models.ForeignKey(Subtopic, on_delete=models.CASCADE) title = models.CharField(max_length=100) content = models.TextField() class Meta: unique_together = ('subtopic', 'title') def __str__(self): return self.title