fix-#620: saving document doesn't create new fields in existing collection
This commit is contained in:
parent
e008919978
commit
1e6a3163af
@ -651,6 +651,8 @@ class BaseDocument(object):
|
||||
default = default()
|
||||
if isinstance(default, BaseDocument):
|
||||
changed_fields.append(field_name)
|
||||
elif not only_fields or field_name in only_fields:
|
||||
changed_fields.append(field_name)
|
||||
|
||||
if errors_dict:
|
||||
errors = "\n".join(["%s - %s" % (k, v)
|
||||
|
@ -2633,5 +2633,15 @@ class InstanceTest(unittest.TestCase):
|
||||
p3 = Person.objects().only('created_on')[0]
|
||||
self.assertEquals(orig_created_on, p3.created_on)
|
||||
|
||||
class Person(Document):
|
||||
created_on = DateTimeField(default=lambda: datetime.utcnow())
|
||||
name = StringField()
|
||||
height = IntField(default=189)
|
||||
|
||||
p4 = Person.objects()[0]
|
||||
p4.save()
|
||||
self.assertEquals(p4.height, 189)
|
||||
self.assertEquals(Person.objects(height=189).count(), 1)
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
Loading…
x
Reference in New Issue
Block a user