remove metadata from ShelfLogEntry

This commit is contained in:
Her Email 2023-11-20 14:24:28 -05:00 committed by Henri Dickson
parent eeee6e9b3e
commit 0d7c78a466
3 changed files with 5 additions and 22 deletions

View file

@ -12,6 +12,10 @@ class Migration(migrations.Migration):
]
operations = [
migrations.RemoveField(
model_name="shelflogentry",
name="metadata",
),
migrations.CreateModel(
name="ShelfLogEntryPost",
fields=[

View file

@ -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):

View file

@ -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)