Django 經過 mongoengine 鏈接 MongoDB 進而使用orm進行CRUD

一. 在python腳本中, 咱們一般可使用pymongo模塊實現與mongodb數據庫的交互, 可是在使用Django框架進行定製開發的web server 項目中, 仍然使用pymongo模塊的話, 顯然是過於「原始」,這時能夠考慮使用 mongoengine 模塊, 經過這個模塊, 能夠封裝數據模型, 而後以orm的形式進行crud,實現對mongodb數據庫的操做。 這裏僅對如何快速的使用這個模塊作一個簡單說明。python

二. 安裝 mongoengineweb

pip install mongoengine

三. django 配置文件中配置鏈接mongodb數據庫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操做django

from .models import Book

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

製做好模型之後, 就能夠經過這個模型調用orm進行數據的增刪改查,使用方式大致上與django自帶的orm是類似的,這裏就不對這種搬磚頭的事情加以細述了,若是但願瞭解更加詳細的使用方式及注意事項,能夠查看官方文檔: http://docs.mongoengine.org/app

 

 

相關文章
相關標籤/搜索