djongo:Django和MongoDB連接器

來源:互聯網
上載者:User

標籤:orm   圖片   一起   alt   不必要   -name   服務   setting   詳細   

在Django項目中使用MongoDB作為後端資料庫,且不改變Django的ORM架構。實現Django使用者管理程式對MongoDB資料庫中檔案的增加和修改。

用法

1.pip install djongo

2.在Django項目下的setting.py中增加如下代碼:

DATABASES ={    ‘default‘:{        ‘ENGINE:‘djongo‘,        ‘NAME‘:‘your-db-name‘,              }           }

3.運行 manage.py makemigrations,之後運行 manage.py migrate(僅在MongoDB中第一次建立資料表的時候需要)

4.完成。
  在這裡還是要推薦下我自己建的Python開發學習群:725479218,群裡都是學Python開發的,如果你正在學習Python ,小編歡迎你加入,大家都是軟體開發黨,不定期分享乾貨(只有Python軟體開發相關的),包括我自己整理的一份2018最新的Python進階資料和進階開發教程,歡迎進階中和進想深入Python的小夥伴

要求:

1.Python3.6及以上版本

2.MongoDB 3.4及以上版本

3.如果項目資料庫中使用巢狀查詢或者子查詢,比如:

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相關的功能、資料庫等都這樣運作。

Django的服務模組:

‘django.contrib.admin‘,‘django.contrib.auth‘,‘django.contrib.sessions‘,

其它的也全都支援。

Django中用法

用於MongoDB的Djongo連接器確保你可以: --重新使用Django資料庫/ORM架構 --同原始Django變數一起發揮作用 --事先驗證你的代碼 --微小的SQL JOIN操作

參考整合Django和MongoDB擷取更詳細的介紹。如果你的項目使用了複雜的資料庫,也可以向專家擷取支援。

使用Django使用者管理模組添加資料檔案

比如你想利用Django建立一個以MongoDB為後端資料庫的部落格平台。在你部落格項目app/models.py檔案下定義Blog資料表:

完成設定,然後訪問localhost:80000/admin/你將會看到以下結果。

查詢嵌入的資料欄位

在上面的例子中,我們要查詢所有以Beatles開頭的名字,可以使用下面的查詢方法:

參考在Django中使用MongoDB資料欄位擷取更多的介紹。

Djongo管理器

Djongo管理器擴充了Django管理器的功能。它能夠讓你使用所有pymongo的API命令。可以在模型中定義類似Djongo管理器一樣的自訂管理器。

管理器的使用和Djongo管理器一樣: post = Entry.objects.get(pk=pkey) 將會獲得一個帶有主鍵pkey的對象。

對Pymongo直接操作

MongoDB有非常強大的查詢命令,DjongoManager能夠讓你完全使用它。

你可以直接使用任何pymongo命令通過在命令名字前面加上mongo的首碼。例如,對Blogpage(Blogpage在SQL中儲存為一個資料表,在MongoDB中儲存為一個集合)使用aggregate,函數名變為mongoaggregate。在模型中直接插入一個檔案(不是使用.save()),使用mongoinsertone() 。

djongo:Django和MongoDB連接器

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.