dont store book id in metadata table

This commit is contained in:
j 2016-01-03 23:06:20 +05:30
parent 05ca6c9d90
commit b67a1d354b
2 changed files with 13 additions and 0 deletions

View file

@ -218,6 +218,8 @@ class Item(db.Model):
# self.meta.update does not trigger db update! # self.meta.update does not trigger db update!
m = Metadata.load(*self.meta['primaryid']) m = Metadata.load(*self.meta['primaryid'])
for key in m: for key in m:
if key == 'id':
continue
self.meta[key] = m[key] self.meta[key] = m[key]
self.modified = datetime.utcnow() self.modified = datetime.utcnow()
self.update_sort() self.update_sort()
@ -701,6 +703,8 @@ class Metadata(db.Model):
def edit(self, data): def edit(self, data):
changed = {} changed = {}
for key in data: for key in data:
if key == 'id':
continue
if data[key] != self.data.get(key): if data[key] != self.data.get(key):
self.data[key] = data[key] self.data[key] = data[key]
changed[key] = data[key] changed[key] = data[key]
@ -719,5 +723,7 @@ class Metadata(db.Model):
def load(self, key, value): def load(self, key, value):
m = self.get(key, value) m = self.get(key, value)
if m: if m:
if 'id' in m.data:
del m.data['id']
return m.data return m.data
return {} return {}

View file

@ -232,6 +232,13 @@ def upgrade_db(old, new=None):
for i in item.models.Item.query: for i in item.models.Item.query:
for f in i.files.all(): for f in i.files.all():
f.move() f.move()
if old <= '20160103-423-05ca6c9':
with db.session():
import item.models
for i in item.models.Item.query:
if 'id' in i.meta:
del i.meta['id']
i.save()
def create_default_lists(user_id=None): def create_default_lists(user_id=None):
with db.session(): with db.session():