我正在尝试在单个应用程序(待办事项)中使用多个不同的数据库。我正在使用 Djongo 包来处理 mongodb。
设置.py
DATABASES = {
'default':{},
'sql_db': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'my_db',
'USER': '******',
'PASSWORD': '***',
'HOST': 'localhost',
'PORT': '5432',
},
'mongodb':{
'ENGINE': 'djongo',
'NAME': 'mongo_db'
}
}
Run Code Online (Sandbox Code Playgroud)
待办事项/模型.py
class Task(models.Model):
todo = models.CharField(max_length=200)
status = models.BooleanField(default=False)
def __str__(self):
return self.todo
Run Code Online (Sandbox Code Playgroud)
todo/serializers.py
class TodoSerializer(serializers.ModelSerializer):
class Meta:
model = Task
fields = '__all__'
Run Code Online (Sandbox Code Playgroud)
待办事项/视图.py
@api_view(['POST'])
def todoCreate(request):
serializer = TodoSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
serializer.save(using='mongodb')
return Response(serializer.data)
Run Code Online (Sandbox Code Playgroud)
它成功地将记录保存到“sql_db”中,但没有保存在“mongodb”中。