2013-04-10 71 views
2

我怎样才能解决这个问题?您还没有定义的默认连接

File "/usr/local/lib/python2.7/dist-packages/mongoengine/connection.py", line 95, in get_connection 
    raise ConnectionError(msg) 
mongoengine.connection.ConnectionError: You have not defined a default connection 

model.py:

from flask.ext.mongoengine import MongoEngine 

db = MongoEngine() 

class Currencies(db.Document): 
    # meta = {"db_alias": "currencies"} 
    name = db.StringField(max_length=40, min_length=3) 
    def __unicode__(self): 
     return self.name 

MongoEngine配置在app.py:

from models import db 

app = Flask(__name__) 
app.config['MONGODB_SETTINGS'] = {'DB':'testing'} 
db.init_app(app) 

views.py:

from models import Currencies 

print Currencies.objects.find() 

烧瓶管理工作正常。

+0

你能否提供更多的调试信息/堆栈跟踪? – Ross 2013-04-10 12:56:52

+1

问题是你还没有告诉mongoengine要使用哪个数据库或主机。我不知道Flask,但通常你可以简单地说'import mongoengine; mongoengine.connect('testDB',host ='localhost');' – William 2013-04-10 13:24:23

回答

1

解决我的烦恼加入“别名”字段值“默认”来配置:

app.config['MONGODB_SETTINGS'] = {'db':'testing', 'alias':'default'} 
1

你可以处理这个问题,这样的设置DEFAULT_CONNECTION_NAME在您的配置文件:

from mongoengine import connect

DEFAULT_CONNECTION_NAME = connect('blog')

相关问题