从其他文件更改Django的__init.py中定义的变量

时间:2018-07-11 14:32:13

标签: python django testing global

我在Django项目中的 init .py

from pymodm.connection import connect, _get_db

from pymongo import MongoClient


client = MongoClient()
entity_record_clctn = client['platform_configuration'].entity_record_model
entity_clctn = client['platform_configuration'].entity_model

我在Django项目中的tests.py

from data_upload import client, entity_clctn, entity_record_clctn
class EntityRecordsTests(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print("setup")
        global client
        global entity_clctn
        global entity_record_clctn
        entity_record_clctn = client['test_database'].entity_record_model
        entity_clctn = client['test_database'].entity_model

我无法更改 init .py中定义的变量 当这些变量用于其他文件(例如在其中使用views.py的文件)时,它们仅指向较早的值

这是我的观点。py

from data_upload import entity_clctn, entity_record_clctn
def get_entity_keys_by_name(name):
    entity = entity_clctn.find_one({"name": name})
    return [entity['entity_primary_key'], entity['entity_display_name']]

我的目标是在运行tests.py时更改这些变量,并在其他文件使用它的情况下更改以全局反映

我能做到吗?怎么样?

0 个答案:

没有答案