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第三方库


热门话题
使用jaxb2annotateplugin和XJC工具的java自定义注释   java组织。xeustechnologies。jcl无法加载WstxInputFactory类   java JUnit在格式化字符串上比较失败   java Bukkit配置部分getKeys   如何关闭Java流?   java Struts2正则表达式配置   链式事务注释的java奇怪行为   java在两个JButton之间使用变量   java签署APK时内容会发生什么变化?   java LWJGL:Slick:3D世界中的绘图字体   如何分解Java数组?   在Java MySql中处理多个过滤器   java如何在Firebase数据库中跳过初始OnChildaded事件触发   java如何在PreviewView中使用CameraX?   在子类#中重写父类后访问父类原始方法的java已解决   java找不到类型的属性   游戏框架游戏!框架+Java