Django管理员和MongoDB,可能吗?

时间:2010-08-17 20:47:29

标签: python django django-admin mongodb

我正在为我们公司的使用而建立一个简单的短URL服务。我想使用mongodb存储数据,但我需要一些简单的界面来添加/编辑短网址到长网址映射。

mongo文档非常简单,如下所示:

{
  shortUrlSlug: 'pbbs',
  fullUrl: 'http://example.com/peanut/butter/and/bacon/sandwiches/'
}

那里有什么东西可以向mongodb公开一个简单的“CRUD”管理界面,可以与django集成,你可以在那里指定模型吗?
基本上就像django admin,但不需要SQL数据库。

谢谢!

7 个答案:

答案 0 :(得分:11)

我已经确认django-nonrel项目确实支持管理界面。我确实遇到了一个问题,即默认的SITE_ID被选为一个数字,不允许作为MongoDB中的主键。我通过设置解决了这个问题:

SITE_ID ='4d421623b0207acdc500001d'

在我的settings.py

我通过shell打印集合中第一个网站值的id来获得该数字。

我没有对此进行过广泛的测试,但确实为一个Poll对象注册了一个管理员,看它是否有效。

答案 1 :(得分:9)

我使用了mongodb-engine的django-nonrel,效果很好。 Django管理员也可以使用标准模型字段。但是如果你使用listfield和dictfield,你需要做一些黑客攻击。

答案 2 :(得分:2)

我不是正面的,但django-nonrel和mongodb后端现在可能会支持django管理员...它可能值得研究

http://www.allbuttonspressed.com/projects/django-nonrel

答案 3 :(得分:1)

这是一个老问题,但如果今天有人碰巧遇到同样的问题,我认为他最好的选择是http://humongous.io。它是mongoDB的django-admin界面。它知道如何猜测/处理关系,并且像Django管理员一样工作。

答案 4 :(得分:1)

django-nonrel是django的一个分支,它已经更新了一年多。 django-mongonautdjango-mongoadmin是django包,可能更合适。

答案 5 :(得分:0)

使用MongoDB可以实现Django Admin。你看过Djongo项目了吗?

Djongo是一个SQL to MongoDB查询编译器。它将每个SQL查询字符串转换为mongoDB查询文档。结果,

  • 所有Django模型和相关模块都按原样工作。
  • 使用Django Admin GUI添加MongoDB嵌入式文档。
  • Djongo为Django ORM提供了API扩展,让你可以将一个文档“嵌入”另一个文档,例如MongoEngine。

如果您正在寻找更多信息,请在Using Django with MongoDB上添加一行代码,只需添加一行代码即可。否则,您可以直接跳转到djongo documentation并开始使用它。

答案 6 :(得分:-1)

mongodb有很多行为,django-admin用于关系数据库,如postgresql

你可以使用django-nonrel创建django admin,但它不是优化和良好的。我认为你可以为你的应用程序创建自定义管理员。