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播放流媒体音乐   LWJGL中的java纹理未显示   java从父集合中删除时删除子对象   mysql希望在我的代码中添加验证,如果表不存在,它应该用java创建新表   java我可以关闭客户端的socket而不引起服务器端的EOFEException吗?   java Primefaces对话框框架咆哮和showMessageInDialog不工作   hadoop配置单元无法初始化类java。网网络接口   关键字中缺少oracle11g Java iBatis   java在RESTAPI中创建PUT和POST端点,而不创建GET端点?   java Math abs和ceil输出编译错误   java Tomcat 8.017代md5及其摘要。球棒   java SpringBean配置xml文件在IteliJ Idea中加载   java为什么在使用Powershell指定Xms和Xmx时,它们什么都不做,但通过Netbeans IDE可以正常工作?   java Drools项目构建失败,kjar打包从7.7版开始