Fix serialization
This commit is contained in:
parent
62c9028212
commit
f26c0c6cd8
2 changed files with 21 additions and 9 deletions
|
@ -50,6 +50,7 @@ class Snapshot(models.Model):
|
||||||
args = args or self.keys
|
args = args or self.keys
|
||||||
return {
|
return {
|
||||||
key: getattr(self, key)
|
key: getattr(self, key)
|
||||||
|
if key != 'tags' else self.get_tags_str()
|
||||||
for key in args
|
for key in args
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,6 +61,13 @@ class Snapshot(models.Model):
|
||||||
from ..index import load_link_details
|
from ..index import load_link_details
|
||||||
return load_link_details(self.as_link())
|
return load_link_details(self.as_link())
|
||||||
|
|
||||||
|
def get_tags_str(self) -> str:
|
||||||
|
tags = ','.join(
|
||||||
|
tag.name
|
||||||
|
for tag in self.tags.all()
|
||||||
|
) if self.tags.all() else ''
|
||||||
|
return tags
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def bookmarked(self):
|
def bookmarked(self):
|
||||||
return parse_date(self.timestamp)
|
return parse_date(self.timestamp)
|
||||||
|
|
|
@ -86,16 +86,20 @@ def merge_links(a: Link, b: Link) -> Link:
|
||||||
)
|
)
|
||||||
|
|
||||||
# all unique, truthy tags
|
# all unique, truthy tags
|
||||||
tags_a = []
|
#tags_a = []
|
||||||
if a.tags:
|
#if a.tags:
|
||||||
tags_a = a.tags.all()
|
# tags_a = a.tags.all()
|
||||||
tags_b = []
|
#tags_b = []
|
||||||
if b.tags:
|
#if b.tags:
|
||||||
tags_b = b.tags.all()
|
# tags_b = b.tags.all()
|
||||||
|
|
||||||
|
#tags_set = (
|
||||||
|
# set(tag.name.strip() for tag in tags_a)
|
||||||
|
# | set(tag.name.strip() for tag in tags_b)
|
||||||
|
#)
|
||||||
tags_set = (
|
tags_set = (
|
||||||
set(tag.name.strip() for tag in tags_a)
|
set(tag.strip() for tag in (a.tags or '').split(','))
|
||||||
| set(tag.name.strip() for tag in tags_b)
|
| set(tag.strip() for tag in (b.tags or '').split(','))
|
||||||
)
|
)
|
||||||
tags = ','.join(tags_set) or None
|
tags = ','.join(tags_set) or None
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue