次のように構成しているフラスコベースのアプリケーションがあります。
from flask import Flask
from flask.ext.mongoengine import MongoEngine
app = Flask(__name__)
app.config["MONGODB_DB"] = "my_tumble_log"
app.config["SECRET_KEY"] = "KeepThisS3cr3t"
db = MongoEngine(app)
if __name__ == '__main__':
app.run()
次のようなすべてのモデルを含む models.py ファイルがあります。
from flask import url_for
from tumblelog import db
class Post(db.Document):
created_at = db.DateTimeField(default=datetime.datetime.now, required=True)
title = db.StringField(max_length=255, required=True)
slug = db.StringField(max_length=255, required=True)
body = db.StringField(required=True)
comments = db.ListField(db.EmbeddedDocumentField('Comment'))
def get_absolute_url(self):
return url_for('post', kwargs={"slug": self.slug})
def __unicode__(self):
return self.title
meta = {
'allow_inheritance': True,
'indexes': ['-created_at', 'slug'],
'ordering': ['-created_at']
}
別のデータベースとそのコレクションをそこで使用できるように、新しいルートを定義したいと思います。
@app.route('/sampleroute')
def sample_route():
#Insert Code to use another database of a specific name
#Query Out a particular "OtherClass" that would be in models.py
その「/sampleroute」内だけで「my_tumble_log」の代わりに「db」を「db1」などの他のデータベースと等しく設定できるようにするには、どうすればよいですか? Post が同じ models.py ファイルで行うように、独自のクラス内で「OtherClass」を宣言できますか? または、MongoEngine で実行できないことはありますか?