pymodm是pymongo之上的通用odm。

pymodm的Python项目详细描述


DocumentationView build statusJoin the chat at https://gitter.im/mongodb/pymodm

MongoDB Python驱动程序PyMongo周围的通用ODM。pymodm在python上工作 2.7以及Python3.3及更高版本。要了解更多信息,您可以浏览official documentation或查看一些examples

为什么是Pymodm?

pymodm是一个“核心”odm,意味着它提供了简单、可扩展的 其他库可以利用的功能来定位平台,如 詹戈。同时,pymodm功能强大,可以用于开发 自行申请。因为MongoDB工程师参与开发 并且维护这个项目,pymodm也会很快采用新的mongodb 特征。

支持/反馈

有关pymodm的问题、疑问或反馈,请查看 我们的support channels。请不要 直接向pymodm开发人员发送电子邮件,询问问题- 你更有可能在google群组的mongodb-user列表中得到答案。

错误/功能请求

你觉得你发现了虫子?想在pymodm中看到一个新特性吗?请打开 我们的问题管理工具jira中的一个案例:

jira中所有驱动程序项目(如pymodm、python、java)和 核心服务器(即服务器)项目是public

如何寻求帮助

打开问题时请包括以下所有信息:

  • 重现问题的详细步骤,包括完整的回溯(如果可能)。

  • 使用的python版本,补丁级别:

    $ python -c "import sys; print(sys.version)"
    
  • 使用的pymodm的确切版本,补丁级别:

    $ python -c "import pymodm; print(pymodm.version)"
    
  • 使用的pymongo版本,补丁级别:

    $ python -c "import pymongo; print(pymongo.version)"
    
  • 操作系统和版本(如Windows 7、OSX 10.8,…)

  • Web框架或异步网络库(如果有的话)与版本(例如 django 1.7,mod_wsgi 4.3.0,gevent 1.0.1,tornado 4.0.2,…)

安全漏洞

如果您在驱动程序或任何其他 MongoDB项目,请按instructions here上报。

示例

下面是一个如何定义一些模型并将它们连接到MongoDB的基本示例:

frompymongoimportTEXTfrompymongo.operationsimportIndexModelfrompymodmimportconnect,fields,MongoModel,EmbeddedMongoModel# Connect to MongoDB first. PyMODM supports all URI options supported by# PyMongo. Make sure also to specify a database in the connection string:connect('mongodb://localhost:27017/myApp')# Now let's define some Models.classUser(MongoModel):# Use 'email' as the '_id' field in MongoDB.email=fields.EmailField(primary_key=True)fname=fields.CharField()lname=fields.CharField()classBlogPost(MongoModel):# This field references the User model above.# It's stored as a bson.objectid.ObjectId in MongoDB.author=fields.ReferenceField(User)title=fields.CharField(max_length=100)content=fields.CharField()tags=fields.ListField(fields.CharField(max_length=20))# These Comment objects will be stored inside each Post document in the# database.comments=fields.EmbeddedDocumentListField('Comment')classMeta:# Text index on content can be used for text search.indexes=[IndexModel([('content',TEXT)])]# This is an "embedded" model and will be stored as a sub-document.classComment(EmbeddedMongoModel):author=fields.ReferenceField(User)body=fields.CharField()vote_score=fields.IntegerField(min_value=0)# Start the blog.# We need to save these objects before referencing them later.han_solo=User('mongoblogger@reallycoolmongostuff.com','Han','Solo').save()chewbacca=User('someoneelse@reallycoolmongostuff.com','Chewbacca','Thomas').save()post=BlogPost(# Since this is a ReferenceField, we had to save han_solo first.author=han_solo,title="Five Crazy Health Foods Jabba Eats.",content="...",tags=['alien health','slideshow','jabba','huts'],comments=[Comment(author=chewbacca,body='Rrrrrrrrrrrrrrrr!',vote_score=42)]).save()# Find objects using familiar MongoDB-style syntax.slideshows=BlogPost.objects.raw({'tags':'slideshow'})# Only retrieve the 'title' field.slideshow_titles=slideshows.only('title')# u'Five Crazy Health Foods Jabba Eats.'print(slideshow_titles.first().title)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java文件分块,获取长度字节   java嵌入式Tomcat不执行jsf页面   java我的数据库中有2个实体,但hibernate返回其中6个。   java如何基于逗号拆分字符串   java取消已经运行的CompletableFutures的预期模式是什么   java如何在informix中从另一个数据库复制表ddl和数据   为什么图片是黑色的?   java根据字符串数组中的单词筛选列表   Java8的集合。平行流有效吗?   Kotlin中的java静态内部类   java如何在GUI中生成一列字符串   javafx如何正确使用高对比度主题?   带空格的javascript Httpurlconnection参数   java如何设置GridBagLayout的约束   java如何在一个线程可能尚未初始化时关闭另一个线程   java将简单时间格式转换为特殊时间格式(hhmmt)   安卓/java阵列重复过滤器的问题   java在队列的链接实现下,入队和出队是如何工作的   java更新sql外键约束