django連線mongodb資料庫及一些ORM操作
阿新 • • 發佈:2021-06-25
1 連線資料庫
安裝djongo
庫
django
本來不支援mongodb
,需要使用djongo
庫,還可以保持原來的ORM操作不變
在專案檔案的settings.py
引用
DATABASES = {
'default': {
'ENGINE': 'djongo', # 選擇djongo
'ENFORCE_SCHEMA': True,
'NAME': 'your_database',
'HOST': '127.0.0.1', # 本地連線
'PORT': 27017,
}
}
連線遠端資料庫
連線遠端資料庫需要修改settings.py
'HOST'
的IP地址
由於pymongo
庫的預設配置使用localhost
,還需要修改其配置
你的python路徑/site-packages/pymongo/mongo_client.py
HOST = "遠端資料庫IP"
2 ORM操作
ORM原理這篇文章講得很清楚
2.1 建立模型
開啟django應用的models.py
from djongo import models # 注意是djongo class Your_model(models.Model): time = models.DateTimeField(auto_now_add=False) # 新增時間戳欄位 a = models.FloatField() b = models.FloatField()
2.2 簡單的查詢
查詢第一條和最後一條資料
from .models import Your_model
q1 = Your_model.objects.first()
q2 = Your_model.objects.last()
查詢一條資料的一個欄位
time1 = q1.time
根據時間範圍查詢
q3 = Your_model.objects.filter(time__range=(start, end))
# start end 格式需與DateTimeField的格式一致
# 如:2011-01-01T00:02:31
根據特定條件查詢一條資料
q4 = Your_model.objects.filter(id=XXX)