from django.contrib.auth.models import AbstractUser from django.db import models class User(AbstractUser): is_auctioneer = models.BooleanField(default=False) class Item(models.Model): item_number = models.CharField(max_length=50, unique=True) title = models.CharField(max_length=200) description = models.TextField() picture = models.ImageField(upload_to='item_pictures/', blank=True, null=True) def __str__(self): return f"{self.item_number} - {self.title}" class Favorite(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='favorites') item = models.ForeignKey(Item, on_delete=models.CASCADE, related_name='favorited_by') created_at = models.DateTimeField(auto_now_add=True) class Meta: unique_together = ('user', 'item') def __str__(self): return f"{self.user.username} favorited {self.item.title}"