From 0d7c78a466f3852d8cc6e04745c8a97b3b61a182 Mon Sep 17 00:00:00 2001 From: Her Email Date: Mon, 20 Nov 2023 14:24:28 -0500 Subject: [PATCH] remove metadata from ShelfLogEntry --- ...gentrypost_shelflogentry_posts_and_more.py | 4 ++++ journal/models/shelf.py | 21 +------------------ journal/tests.py | 2 -- 3 files changed, 5 insertions(+), 22 deletions(-) diff --git a/journal/migrations/0018_shelflogentrypost_shelflogentry_posts_and_more.py b/journal/migrations/0018_shelflogentrypost_shelflogentry_posts_and_more.py index ac8face1..d71bddce 100644 --- a/journal/migrations/0018_shelflogentrypost_shelflogentry_posts_and_more.py +++ b/journal/migrations/0018_shelflogentrypost_shelflogentry_posts_and_more.py @@ -12,6 +12,10 @@ class Migration(migrations.Migration): ] operations = [ + migrations.RemoveField( + model_name="shelflogentry", + name="metadata", + ), migrations.CreateModel( name="ShelfLogEntryPost", fields=[ diff --git a/journal/models/shelf.py b/journal/models/shelf.py index aae96c24..35318412 100644 --- a/journal/models/shelf.py +++ b/journal/models/shelf.py @@ -128,30 +128,12 @@ class ShelfMember(ListMember): def tags(self): return self.mark.tags - # def get_log_entry(self): - # return ShelfLogEntry.objects.filter( - # owner=self.owner, - # item=self.item, - # shelf_type=self.shelf_type, - # timestamp=self.created_time, - # ).first() - - # def create_log_entry(self): - # return ShelfLogEntry.objects.create( - # owner=self.owner, - # shelf_type=self.shelf_type, - # item=self.item, - # metadata=self.metadata, - # timestamp=self.created_time, - # ) - def ensure_log_entry(self): log, _ = ShelfLogEntry.objects.get_or_create( owner=self.owner, shelf_type=self.shelf_type, item=self.item, timestamp=self.created_time, - defaults={"metadata": self.metadata}, ) return log @@ -192,7 +174,6 @@ class ShelfLogEntry(models.Model): shelf_type = models.CharField(choices=ShelfType.choices, max_length=100, null=True) item = models.ForeignKey(Item, on_delete=models.PROTECT) timestamp = models.DateTimeField() # this may later be changed by user - metadata = models.JSONField(default=dict) # TODO Remove this field created_time = models.DateTimeField(auto_now_add=True) edited_time = models.DateTimeField(auto_now=True) posts = models.ManyToManyField( @@ -200,7 +181,7 @@ class ShelfLogEntry(models.Model): ) def __str__(self): - return f"{self.owner}:{self.shelf_type}:{self.item.uuid}:{self.timestamp}:{self.metadata}" + return f"{self.owner}:{self.shelf_type}:{self.item.uuid}:{self.timestamp}" @property def action_label(self): diff --git a/journal/tests.py b/journal/tests.py index dee0988d..66ccbea0 100644 --- a/journal/tests.py +++ b/journal/tests.py @@ -68,8 +68,6 @@ class ShelfTest(TestCase): self.assertEqual(len(Mark(user.identity, book1).all_post_ids), 2) log = shelf_manager.get_log_for_item(book1) self.assertEqual(log.count(), 2) - last_log = log.last() - self.assertEqual(last_log.metadata if last_log else 42, {}) Mark(user.identity, book1).update(ShelfType.PROGRESS, metadata={"progress": 1}) time.sleep(0.001) self.assertEqual(q1.members.all().count(), 1)