2010-08-17 71 views
19

我正在爲我們公司使用構建一個簡單的短URL服務,ala bitly。我想使用mongodb來存儲數據,但我需要一些簡單的界面來添加/編輯較短的URL到較長的URL映射。Django admin和MongoDB,可能呢?

蒙戈文件將是非常簡單的,像這樣:

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

是那裏有什麼是暴露了一個簡單的「CRUD」管理界面MongoDB中,可以使用Django,在那裏你可以整合指定模型?
基本上像django管理員,但不需要SQL數據庫。

謝謝!

回答

11

我已經證實,Django的nonrel項目確實支持管理界面。我確實遇到了一個問題,即默認的SITE_ID被選爲一個數字,這在MongoDB中不允許用作主鍵。我解決了這個設置:

SITE_ID =在我的settings.py

「4d421623b0207acdc500001d」

我通過外殼印刷第一現場值的標識集合中得到的數量。

我還沒有廣泛的測試過這個,但是確實爲一個Poll對象註冊了一個管理員並且看到它工作。

+2

這完全有效。只需啓動mongo shell,執行「db.django_site.find()」,並使用結果中的ObjectId值作爲settings.py中SITE_ID的值。 – 2011-09-21 13:51:20

+0

如果你不需要網站選項,從安裝的應用程序中刪除它也是這項工作 – c24b 2014-02-16 18:35:49

9

我使用了django-nonrel和mongodb-engine,它運行良好。 Django管理員也可以使用標準模型字段。但是如果你使用listfield和dictfield,你需要做一些黑客攻擊。

-1

MongoDB中有很多行爲和Django的管理是關係數據庫如PostgreSQL

您可以創建Django管理與django-nonrel,但它不是最優化和好。我認爲它可以爲您的應用程序創建自定義管理員。

1

這是一個古老的問題,但如果今天有人碰到同樣的問題,我認爲他最好的選擇是http://humongous.io。這是一個類似於mongoDB的django-admin界面。它知道如何猜測/處理關係,並像Django管理員那樣工作。

0

對於MongoDB,Django Admin非常有可能。你看過Djongo項目嗎?

Djongo是一個SQL到MongoDB查詢編譯器。它將每個SQL查詢字符串轉換爲一個mongoDB查詢文檔。因此,

  • 所有Django模型和相關模塊均按原樣工作。
  • 使用Django Admin GUI添加MongoDB嵌入式文檔。
  • Djongo爲Django ORM提供API擴展,讓您可以將一個文檔嵌入到另一個文檔中,例如MongoEngine。

如果您正在尋找更多信息,只需添加一行代碼就可以找到關於Using Django with MongoDB的文章。否則,您可以直接跳到djongo documentation並開始使用它。