fixes for value_decorator

This commit is contained in:
Wilson Júnior 2013-05-16 13:12:49 -03:00
parent f7e22d2b8b
commit bc92f78afb
2 changed files with 17 additions and 2 deletions

View File

@ -1449,9 +1449,9 @@ class SequenceField(BaseField):
data = collection.find_one({"_id": sequence_id})
if data:
return data['next']+1
return self.value_decorator(data['next']+1)
return 1
return self.value_decorator(1)
def get_sequence_name(self):
if self.sequence_name:

View File

@ -1914,6 +1914,21 @@ class FieldTest(unittest.TestCase):
self.db['mongoengine.counters'].drop()
self.assertEqual(Person.id.get_next_value(), 1)
class Person(Document):
id = SequenceField(primary_key=True, value_decorator=str)
name = StringField()
self.db['mongoengine.counters'].drop()
Person.drop_collection()
for x in xrange(10):
Person(name="Person %s" % x).save()
self.assertEqual(Person.id.get_next_value(), '11')
self.db['mongoengine.counters'].drop()
self.assertEqual(Person.id.get_next_value(), '1')
def test_sequence_field_sequence_name(self):
class Person(Document):