mirror of
https://github.com/ankitects/anki.git
synced 2025-09-19 14:32:22 -04:00
make sure field & card models are not duplicated
This commit is contained in:
parent
93332079b5
commit
dd5e7c45b4
2 changed files with 9 additions and 0 deletions
|
@ -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)
|
||||
|
|
|
@ -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()
|
||||
|
|
Loading…
Reference in a new issue