From 165578cabb8ce3e66a4b29a5a9e1ba83f56d9ae0 Mon Sep 17 00:00:00 2001 From: minghansun1 Date: Sun, 20 Oct 2024 21:10:32 -0400 Subject: [PATCH] finished marketplace models --- backend/marketplace/models.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/backend/marketplace/models.py b/backend/marketplace/models.py index da1c08dd..b81ac65d 100644 --- a/backend/marketplace/models.py +++ b/backend/marketplace/models.py @@ -22,7 +22,7 @@ def __str__(self): return f"Offer for {self.item} made by {self.user}" -class Category(Enum): +class Category(models.TextChoices): SUBLET = "sublet" APPLIANCE = "appliance" COOKWARE = "cookware" @@ -48,17 +48,19 @@ def __str__(self): class Item(models.Model): seller = models.ForeignKey(User, on_delete=models.CASCADE) - buyers = models.ManyToManyField( - User, through=Offer, related_name="items_offered", blank=True + tags = models.ManyToManyField(Tag, related_name="items", blank=True) + category = models.CharField( + max_length=50, + choices=Category.choices, + default=Category.OTHER, ) favorites = models.ManyToManyField(User, related_name="items_favorited", blank=True) - tags = models.ManyToManyField(Tag, related_name="items", blank=True) + title = models.CharField(max_length=255) description = models.TextField(null=True, blank=True) external_link = models.URLField(max_length=255, null=True, blank=True) price = models.IntegerField() negotiable = models.BooleanField(default=True) - category = models.CharField(max_length=50, choices=[(category, category.value) for category in Category]) created_at = models.DateTimeField(auto_now_add=True) expires_at = models.DateTimeField()