from django.db import models from django.contrib.auth.models import User class Club(models.Model): name = models.CharField(max_length=100) description = models.TextField() def __str__(self): return self.name class BookRecommendation(models.Model): STATUS_CHOICES = ( ('pending', 'Pending'), ('approved', 'Approved'), ('rejected', 'Rejected'), ) club = models.ForeignKey(Club, on_delete=models.CASCADE) book_title = models.CharField(max_length=200) author = models.CharField(max_length=100) reason = models.TextField() status = models.CharField(max_length=10, choices=STATUS_CHOICES, default='pending') created_at = models.DateTimeField(auto_now_add=True) def __str__(self): return f"{self.book_title} recommended for {self.club.name}" class ClubMembership(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE) club = models.ForeignKey(Club, on_delete=models.CASCADE) date_joined = models.DateTimeField(auto_now_add=True) class Meta: unique_together = ('user', 'club') def __str__(self): return f"{self.user.username} joined {self.club.name}"