Django 管理后台和 MongoDB,可能吗?

20 投票
7 回答
14550 浏览
提问于 2025-04-16 02:56

我正在为我们公司建立一个简单的短网址服务,类似于bitly。我想用mongodb来存储数据,但我需要一个简单的界面来添加或编辑短网址和长网址之间的对应关系。

mongodb中的文档会非常简单,大致是这样的:

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

有没有什么工具可以提供一个简单的“增删改查”管理界面,能够和django集成,并且可以指定模型?
基本上就像django的管理后台,但不需要使用SQL数据库。

谢谢!

7 个回答

2

我不太确定,但现在django-nonrel和mongodb后端可能支持django的管理界面……值得一查。

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

9

我用过django-nonrel配合mongodb-engine,效果很好。Django的后台管理也能正常使用标准的模型字段。不过,如果你在用listfield和dictfield这两种字段,就需要动点手脚了。

11

我确认了django-nonrel项目确实支持管理界面。不过,我遇到一个问题,就是默认的SITE_ID被当作数字来处理,而在MongoDB中,数字不能作为主键。为了解决这个问题,我在我的settings.py文件中设置了:

SITE_ID = '4d421623b0207acdc500001d'

这个数字是我通过在命令行中打印集合里第一个站点的ID得到的。

虽然我没有进行过多的测试,但我确实为一个投票对象注册了管理员,并且看到它正常工作。

撰写回答