我应该在哪里将业务逻辑与龙卷风/ mongoengine应用程序放在一起?

时间:2013-06-14 13:50:26

标签: python model-view-controller tornado mongoengine object-relational-model

我正在编写Tornado Rest API并且我使用mongoengine作为ODM。我想尽可能地保持分离。我不希望我的代码在处理程序中的原因是我想使一些函数异步。

这是最好的方法吗?:      (只是伪代码)

class UserSearchHandler(BaseHandler):

   @tornado.web.asynchronous
   @gen.coroutine
   def get(self):
     q = self.get_argument("query",strip=True)
     results = yield gen.Task(Node.search,q)
     self.write(results)
在Mongoengine里面
  class User(Docuement):
     first_name = StringField(max_length=50)
     last_name = StringField(max_length=50)

     @async
     def search(q,callback=None):
         if callback != None:
            return callback(User.objects(..magic))
         return User.objects(....)
         ...return some search query as json

将成员函数添加到ODM是否有意义?

0 个答案:

没有答案