Django 通過 mongoengine 連接 MongoDB 進而使用orm進行CRUD


一. 在python腳本中, 我們通常可以使用pymongo模塊實現與mongodb數據庫的交互, 但是在使用Django框架進行定制開發的web server 項目中, 仍然使用pymongo模塊的話, 顯然是過於“原始”,這時可以考慮使用 mongoengine 模塊, 通過這個模塊, 可以封裝數據模型, 然后以orm的形式進行crud,實現對mongodb數據庫的操作。 這里僅對如何快速的使用這個模塊做一個簡單說明。

二. 安裝 mongoengine

pip install mongoengine

三. django 配置文件中配置連接mongodb數據庫

import mongoengine

# 創建與mongodb數據庫的連接
MONGO_CONN = mongoengine.connect(
    db="lowman",  # 需要進行操作的數據庫名稱
    alias='default',  # 必須定義一個default數據庫
    host="192.168.3.69",
    port=27017,
    username="渣男不但丑",
    password="28269",
    authentication_source="admin", # 進行身份認證的數據庫,通常這個數據庫為admin“
)

四. models.py 中定義數據模型

import mongoengine
import datetime
from mongoengine import Document

class Book(Document):  # 默認的會在 mongodb 中的 lowman 數據庫創建一個名稱為book的collection
    """
    這里定義的模型, 實際上與使用關系型數據庫時定義的模型,其定義的方式是一樣的
    只不過使用不同的模塊,並繼承自不同的父類, 數據保存在不同類型的數據庫里。不需要執行遷移操作
    """
    author = mongoengine.StringField(required=True, max_length=125)
    email = mongoengine.StringField(required=True)
    addr = mongoengine.StringField(required=True, max_length=125)
    time = mongoengine.DateTimeField(default=datetime.datetime.now)

五. views.py 視圖中進行crud操作

from .models import Book

book_obj = Book.objects.create(author="渣男不但丑, 屌絲也很忙", email="lowman@9527.com", addr="流浪地球村")

制作好模型以后, 就可以通過這個模型調用orm進行數據的增刪改查,使用方式大體上與django自帶的orm是相似的,這里就不對這種搬磚頭的事情加以細述了,如果希望了解更加詳細的使用方式及注意事項,可以查看官方文檔: http://docs.mongoengine.org/

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM