小编bas*_*ath的帖子

没有将记录保存到 Django 中的 mongodb 数据库中,实际上我正在尝试在单个应用程序中探索多个不同的数据库(Postgresql、Mongodb)

我正在尝试在单个应用程序(待办事项)中使用多个不同的数据库。我正在使用 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”中。

database django orm multiple-databases djongo

6
推荐指数
1
解决办法
45
查看次数

标签 统计

database ×1

django ×1

djongo ×1

multiple-databases ×1

orm ×1