首页 > 解决方案 > DRF、Djongo 和 log4mongo

问题描述

我已经设置 log4mogo 来捕获 django 日志,这正在工作并将所有日志正确放入数据库。

我想将这些作为 drf api 的一部分公开,并尝试将 djongo 设置为访问 mongo db 的 orm,但由于某种原因,我没有得到任何回报,我想知道是否有人对此有任何想法. 就错误而言,我没有得到一个我得到一个空的字典。所以看起来查询没有返回,但数据库中有条目。我迷失了前进的方向,所以欢迎任何想法。

模型:

import djongo.models


class Logs(djongo.models.Model):

    _id = djongo.models.CharField(max_length=400)
    thread = djongo.models.CharField(max_length=400)
    level = djongo.models.CharField(max_length=400)
    timestamp = djongo.models.CharField(max_length=400)
    threadName = djongo.models.CharField(max_length=400)
    module = djongo.models.CharField(max_length=400)
    loggerName = djongo.models.CharField(max_length=400)
    lineNumber = djongo.models.CharField(max_length=400)
    message = djongo.models.CharField(max_length=4000)
    fileName = djongo.models.CharField(max_length=400)
    method = djongo.models.CharField(max_length=400)

看法:

class UserViewSet(rest_framework.viewsets.ReadOnlyModelViewSet):

    queryset = logger_api.models.Logs.objects.using('logging_api').all()
    serializer_class = logger_api.serializers.LogSerializer

设置:

DATABASES = {
        'logging_api': {
            'ENGINE': 'djongo',
            'NAME': 'logging',
            'ENFORCE_SCHEMA': False,
            'CLIENT': {
                'host': ********************,
                'port': ********************,
                'username': ***********,
                'password': ***********,
                'authSource': *********,
                'ssl': True
            }
        }
    }

标签: djangodjango-modelsdjango-rest-frameworkdjongo

解决方案


推荐阅读