首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在创建连接之前在ming中声明model

在创建连接之前在ming中声明model
EN

Stack Overflow用户
提问于 2017-01-23 21:16:59
回答 1查看 103关注 0票数 1

我希望在与数据库连接之前删除我的模型(出于某些原因,如多线程和数据库配置uri的动态加载)。

文档上说要这样使用:

代码语言:javascript
复制
from ming import create_datastore
from ming.odm import ThreadLocalODMSession
from ming import schema
from ming.odm import FieldProperty
from ming.odm.declarative import MappedClass

session = ThreadLocalODMSession(
    bind=create_datastore('odm_welcome')
)

class WikiPage(MappedClass):
    class __mongometa__:
        session = session
        name = 'wiki_page'

    _id = FieldProperty(schema.ObjectId)
    title = FieldProperty(schema.String(required=True))
    text = FieldProperty(schema.String(if_missing=''))

我们可以看到哪些模型声明需要session (在__mongometa__中)。如何在没有session变量的情况下声明WikiPage模型?然后再设置吗?

EN

回答 1

Stack Overflow用户

发布于 2017-01-24 16:33:12

解决方案可以在没有__mongometa__情况下声明模型

代码语言:javascript
复制
class WikiPage(MappedClass):
    _id = FieldProperty(schema.ObjectId)
    title = FieldProperty(schema.String(required=True))
    text = FieldProperty(schema.String(if_missing=''))

然后手动使用集合进行make映射:

代码语言:javascript
复制
session = ODMSession(bind=create_datastore(uri))
collection_ = collection('wiki_page', session)
session.mapper(WikiPage, collection_)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41807329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档