mirror of
https://github.com/beetbox/beets.git
synced 2025-12-15 21:14:19 +01:00
Model.load() should remove flexible fields
This commit is contained in:
parent
5a799c7fbe
commit
9ee794beb7
2 changed files with 16 additions and 0 deletions
|
|
@ -382,6 +382,8 @@ class Model(object):
|
|||
self._check_db()
|
||||
stored_obj = self._db._get(type(self), self.id)
|
||||
assert stored_obj is not None, "object {0} not in DB".format(self.id)
|
||||
self._values_fixed = {}
|
||||
self._values_flex = {}
|
||||
self.update(dict(stored_obj))
|
||||
self.clear_dirty()
|
||||
|
||||
|
|
|
|||
|
|
@ -249,6 +249,20 @@ class ModelTest(unittest.TestCase):
|
|||
model.some_float_field = None
|
||||
self.assertEqual(model.some_float_field, 0.0)
|
||||
|
||||
def test_load_deleted_flex_field(self):
|
||||
model1 = TestModel1()
|
||||
model1['flex_field'] = True
|
||||
model1.add(self.db)
|
||||
|
||||
model2 = self.db._get(TestModel1, model1.id)
|
||||
self.assertIn('flex_field', model2)
|
||||
|
||||
del model1['flex_field']
|
||||
model1.store()
|
||||
|
||||
model2.load()
|
||||
self.assertNotIn('flex_field', model2)
|
||||
|
||||
|
||||
class FormatTest(unittest.TestCase):
|
||||
def test_format_fixed_field(self):
|
||||
|
|
|
|||
Loading…
Reference in a new issue