django连接mongodb数据库及一些ORM操作
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)