理解类继承来干涸一些鳕鱼

2024-04-27 15:31:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用cloudantpython库连接到我的cloudant帐户。你知道吗

以下是我目前掌握的代码:

import cloudant


class WorkflowsCloudant(cloudant.Account):
    def __init__(self):
        super(WorkflowsCloudant, self).__init__(settings.COUCH_DB_ACCOUNT_NAME,
                                                auth=(settings.COUCH_PUBLIC_KEY,
                                                      settings.COUCH_PRIVATE_KEY))

    @blueprint.route('/<workflow_id>')
    def get_single_workflow(account_id, workflow_id):
        account = WorkflowsCloudant()
        db = account.database(settings.COUCH_DB_NAME)
        doc = db.document(workflow_id)
        resp = doc.get().json()

        if resp['account_id'] != account_id:
            return error_helpers.forbidden('Invalid Account')

        return jsonify(resp)

这个Flask控制器内部将有CRUD操作,但是对于当前的实现,在对要查看/操作的文档执行操作之前,我必须在每个方法中设置accountdb变量。如何清理(或干涸)代码,以便只需调用主WorkflowsCloudant类?你知道吗


Tags: 代码selfiddbsettingsinitdefaccount
1条回答
网友
1楼 · 发布于 2024-04-27 15:31:23

我不知道cloudant,所以我可能完全偏离了底线,但我相信这回答了你的问题:

get_single_workflow中删除accountdbdoc行。你知道吗

将以下行添加到__init__

db = account.database(settings.COUCH_DB_NAME)
self.doc = db.document(workflow_id)

get_single_workflow中的resp行更改为:

resp = WorkflowsCloudant().doc.get().json()

相关问题 更多 >