remove metadata from ShelfLogEntry
This commit is contained in:
parent
eeee6e9b3e
commit
0d7c78a466
3 changed files with 5 additions and 22 deletions
|
@ -12,6 +12,10 @@ class Migration(migrations.Migration):
|
|||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name="shelflogentry",
|
||||
name="metadata",
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="ShelfLogEntryPost",
|
||||
fields=[
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue