diff --git a/anki/models.py b/anki/models.py index afd14fff8..758e679e0 100644 --- a/anki/models.py +++ b/anki/models.py @@ -63,6 +63,7 @@ class FieldModel(object): for p in class_mapper(FieldModel).iterate_properties: setattr(new, p.key, getattr(self, p.key)) new.id = genID() + new.model = None return new mapper(FieldModel, fieldModelsTable) @@ -120,6 +121,7 @@ class CardModel(object): for p in class_mapper(CardModel).iterate_properties: setattr(new, p.key, getattr(self, p.key)) new.id = genID() + new.model = None return new mapper(CardModel, cardModelsTable) diff --git a/tests/test_deck.py b/tests/test_deck.py index 9b714924b..1a1ccaa3c 100644 --- a/tests/test_deck.py +++ b/tests/test_deck.py @@ -138,6 +138,8 @@ def test_modelAddDelete(): def test_modelCopy(): deck = DeckStorage.Deck() m = JapaneseModel() + assert len(m.fieldModels) == 3 + assert len(m.cardModels) == 2 deck.addModel(m) f = deck.newFact() f['Expression'] = u'1' @@ -147,6 +149,11 @@ def test_modelCopy(): assert m2.id != m.id assert m2.fieldModels[0].id != m.fieldModels[0].id assert m2.cardModels[0].id != m.cardModels[0].id + assert len(m2.fieldModels) == 3 + assert len(m.fieldModels) == 3 + assert len(m2.fieldModels) == len(m.fieldModels) + assert len(m.cardModels) == 2 + assert len(m2.cardModels) == 2 def test_media(): deck = DeckStorage.Deck()