在Django項目中使用MongoDB做爲後端數據庫,且不改變Django的ORM框架。實現Django用戶管理程序對MongoDB數據庫中文件的增長和修改。數據庫
1.pip install djongodjango
2.在Django項目下的setting.py中增長以下代碼:後端
DATABASES ={ 'default':{ 'ENGINE:'djongo', 'NAME':'your-db-name', } }
3.運行 manage.py makemigrations,以後運行 manage.py migrate(僅在MongoDB中第一次創建數據表的時候須要)session
4.完成。 在這裏仍是要推薦下我本身建的Python開發學習羣:725479218,羣裏都是學Python開發的,若是你正在學習Python ,小編歡迎你加入,你們都是軟件開發黨,不按期分享乾貨(只有Python軟件開發相關的),包括我本身整理的一份2018最新的Python進階資料和高級開發教程,歡迎進階中和進想深刻Python的小夥伴app
1.Python3.6及以上版本框架
2.MongoDB 3.4及以上版本函數
3.若是項目數據庫中使用嵌套查詢或者子查詢,好比:post
inner_qs =Blog.objects.filter(name__contains='Ch').values('name') entries =Entry.objects.filter(blog__name__in=inner_qs)
須要MongoDB3.6及以上版本。學習
Djongo對Django ORM框架的改變很是小,這就意味着不會發生一些沒必要要的錯誤。它將SQL字符串查詢轉變爲MongoDB的文件查詢。至此,全部和Django相關的功能、數據庫等都這樣運做。3d
Django的服務模塊:
'django.contrib.admin', 'django.contrib.auth', 'django.contrib.sessions',
其它的也全都支持。
用於MongoDB的Djongo鏈接器確保你能夠: --從新使用Django數據庫/ORM框架 --同原始Django變量一塊兒發揮做用 --事先驗證你的代碼 --微小的SQL JOIN操做
參考集成Django和MongoDB獲取更詳細的介紹。若是你的項目使用了複雜的數據庫,也能夠向專家獲取支持。
好比你想利用Django建立一個以MongoDB爲後端數據庫的博客平臺。在你博客項目app/models.py文件下定義Blog數據表:
完成設置,而後訪問localhost:80000/admin/你將會看到如下結果。
查詢嵌入的數據字段
在上面的例子中,咱們要查詢全部以Beatles開頭的名字,可使用下面的查詢方法:
參考在Django中使用MongoDB數據字段獲取更多的介紹。
Djongo管理器擴展了Django管理器的功能。它可以讓你使用全部pymongo的API命令。能夠在模型中定義相似Djongo管理器同樣的自定義管理器。
管理器的使用和Djongo管理器同樣: post = Entry.objects.get(pk=pkey) 將會得到一個帶有主鍵pkey的對象。
MongoDB有很是強大的查詢命令,DjongoManager可以讓你徹底使用它。
你能夠直接使用任何pymongo命令經過在命令名字前面加上mongo的前綴。例如,對Blogpage(Blogpage在SQL中保存爲一個數據表,在MongoDB中保存爲一個集合)使用aggregate,函數名變爲mongoaggregate。在模型中直接插入一個文件(不是使用.save()),使用mongoinsertone() 。