mirror of
https://github.com/ankitects/anki.git
synced 2025-09-20 06:52:21 -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:
|
for p in class_mapper(FieldModel).iterate_properties:
|
||||||
setattr(new, p.key, getattr(self, p.key))
|
setattr(new, p.key, getattr(self, p.key))
|
||||||
new.id = genID()
|
new.id = genID()
|
||||||
|
new.model = None
|
||||||
return new
|
return new
|
||||||
|
|
||||||
mapper(FieldModel, fieldModelsTable)
|
mapper(FieldModel, fieldModelsTable)
|
||||||
|
@ -120,6 +121,7 @@ class CardModel(object):
|
||||||
for p in class_mapper(CardModel).iterate_properties:
|
for p in class_mapper(CardModel).iterate_properties:
|
||||||
setattr(new, p.key, getattr(self, p.key))
|
setattr(new, p.key, getattr(self, p.key))
|
||||||
new.id = genID()
|
new.id = genID()
|
||||||
|
new.model = None
|
||||||
return new
|
return new
|
||||||
|
|
||||||
mapper(CardModel, cardModelsTable)
|
mapper(CardModel, cardModelsTable)
|
||||||
|
|
|
@ -138,6 +138,8 @@ def test_modelAddDelete():
|
||||||
def test_modelCopy():
|
def test_modelCopy():
|
||||||
deck = DeckStorage.Deck()
|
deck = DeckStorage.Deck()
|
||||||
m = JapaneseModel()
|
m = JapaneseModel()
|
||||||
|
assert len(m.fieldModels) == 3
|
||||||
|
assert len(m.cardModels) == 2
|
||||||
deck.addModel(m)
|
deck.addModel(m)
|
||||||
f = deck.newFact()
|
f = deck.newFact()
|
||||||
f['Expression'] = u'1'
|
f['Expression'] = u'1'
|
||||||
|
@ -147,6 +149,11 @@ def test_modelCopy():
|
||||||
assert m2.id != m.id
|
assert m2.id != m.id
|
||||||
assert m2.fieldModels[0].id != m.fieldModels[0].id
|
assert m2.fieldModels[0].id != m.fieldModels[0].id
|
||||||
assert m2.cardModels[0].id != m.cardModels[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():
|
def test_media():
|
||||||
deck = DeckStorage.Deck()
|
deck = DeckStorage.Deck()
|
||||||
|
|
Loading…
Reference in a new issue