您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 如何使用django从mongodb数据库中检索数据?

5b51 2022/1/14 8:20:28 python 字数 3863 阅读 477 来源 www.jb51.cc/python

我是 mongodb和 django的新手.我在 django中设置了所有模型和urls.py.但是它有时间在视图页面上检索数据库的信息. 我的数据库看起来像: { "_id": { "$oid": "52221778633a610c58c131e6" }, "text": "just", "tags": [ "mongo", "django" ], "comments":

概述

{
"_id": {
    "$oid": "52221778633a610c58c131e6"
},"text": "just","tags": [
    "mongo","django"
],"comments": [],"title": "hello" }

数据库名称:事件集合名称:polls_post

我的urls.py看起来像:

from django.conf.urls.defaults import patterns,include,url
from django.views.generic import ListView,DetailView
from polls.models import Post

urlpatterns = patterns('',url(r'^time/$','polls.views.current_datetime'),url(r'^events/$','polls.views.events'),)

我的views.py看起来像:

from django.http import HttpResponse
import datetime

def current_datetime(request):
    Now = datetime.datetime.Now()
    html = "<html><body>It is Now %s.</body></html>" % Now
    return HttpResponse(html)

def events(request):
    html = "<html><body>title is:<h1></h1></body></html>" 
    return HttpResponse(html)

那么,我们如何从数据库获取文本,标题和注释,以便它可以在网页上显示

from pymongo import Connection

server="localhost"
port = 27017
#Establish a connection with mongo instance.
conn = Connection(server,port)

要从集合中获取单个文档,请使用find_one.

poll = conn.events.polls_post.find_one({},{"title" : 1}) #first parameter is the query,second one is the projection.
print "Title : ",poll['title']

要从集合中获取所有文档,请使用find.

polls = conn.events.polls_post.find({},{"title" : 1})#first parameter is the query,second one is the projection.
for poll in polls:
    print "Title : ",poll['title']

如果你想使用Django的非关系引擎,你可以写:

from models import Post 
posts = Post.objects.all() 
for post in posts: 
    print post.title

这假设您已经在models.py中创建了一个模型类:这样的东西:

class Post(models.Model):
    created_on = models.DateTimeField(auto_Now_add=True,null=True)
    title = models.CharField()
    text = models.TextField()
    tags = ListField()

有关更实用的内容,请查看:pymongoMognoDB.
使用Django的非关系引擎结帐:Django Non Relational Engine

谢谢!


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶