From 14b6c471cf519df6df5c737faaff512a338ef918 Mon Sep 17 00:00:00 2001 From: Ross Lawley Date: Mon, 22 Apr 2013 16:37:09 +0000 Subject: [PATCH] Fix PY3 hasattr connecting to the db at define time --- mongoengine/base/metaclasses.py | 2 +- tests/document/instance.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/mongoengine/base/metaclasses.py b/mongoengine/base/metaclasses.py index 27040119..def8a055 100644 --- a/mongoengine/base/metaclasses.py +++ b/mongoengine/base/metaclasses.py @@ -340,7 +340,7 @@ class TopLevelDocumentMetaclass(DocumentMetaclass): new_class._meta['collection'] = collection(new_class) # Provide a default queryset unless exists or one has been set - if not hasattr(new_class, 'objects'): + if 'objects' not in dir(new_class): new_class.objects = QuerySetManager() # Validate the fields and set primary key if needed diff --git a/tests/document/instance.py b/tests/document/instance.py index 1adc1406..5513ed8d 100644 --- a/tests/document/instance.py +++ b/tests/document/instance.py @@ -1857,6 +1857,8 @@ class InstanceTest(unittest.TestCase): def test_db_alias_propagates(self): """db_alias propagates? """ + register_connection('testdb-1', 'mongoenginetest2') + class A(Document): name = StringField() meta = {"db_alias": "testdb-1", "allow_inheritance": True}