[英]Django + MongoDB
我试图将MongoDB与Django一起使用。 我已按照本指南进行设置,以便安装所有必要的东西。 MongoDB + Django教程我的问题如下:当我在views.py
尝试运行cities = City.objects.get()
,我收到以下错误:
DoesNotExist at /GetAllCities/
City matching query does not exist.
我的MongoDB看起来像这样
Databasename = "exjobb"
Collectioname = "cities"`
它包含30,000行数据,它适用于我的Rails和PHP应用程序。
我的模型类看起来像这样
from django.db import models
from django.core.urlresolvers import reverse
from djangotoolbox.fields import ListField, EmbeddedModelField
# Create your models here.
class City(models.Model):
city = models.TextField()
loc = models.TextField()
population = models.IntegerField()
state = models.TextField()
_id = models.IntegerField()
def __unicode__(self):
return self.city
数据库中的一行看起来像这样
{
"city" : "ACMAR",
"loc" : [
-86.51557,
33.584132
],
"population" : 6055,
"state" : "AL",
"_id" : "35004"
}
我找到了解决方案。 问题是我不知道如何选择使用哪个集合。 所以Django创建了一个名为“myAppName_cities”的新集合。
要告诉django使用哪个集合,只需添加一个这样的元类。
class City(models.Model):
city = models.TextField()
loc = models.TextField()
population = models.IntegerField()
state = models.TextField()
#Specify collection in the MongoMetaclass
class MongoMeta:
db_table = "cities"
如果你想获得数据库中的所有城市,你应该使用
cities = City.objects.all()
City.objects.get
需要一个关键字参数来搜索并且只返回一条记录。 如果发现异常,则引发异常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.