如何在测试中重写嵌套的Django设置

如何在测试中重写嵌套的Django设置,django,django-rest-framework,settings,Django,Django Rest Framework,Settings,我知道Django的override\u settings和modify\u settingsdecorator,但是如何覆盖更复杂的设置呢 例如,我的设置如下: REST_FRAMEWORK = { ...various keys... 'DEFAULT_THROTTLE_RATES = { 'anon': '100/day', } ...more keys... } 我想将费率设置为10000/天,这样我在本地工作时就不会碰到他们mod

我知道Django的
override\u settings
modify\u settings
decorator,但是如何覆盖更复杂的设置呢

例如,我的设置如下:

REST_FRAMEWORK = {
    ...various keys...
    'DEFAULT_THROTTLE_RATES = {
         'anon': '100/day',
     }

    ...more keys...
}
我想将费率设置为10000/天,这样我在本地工作时就不会碰到他们
modify_settings
仅对列表有效,要使用
override_settings
我必须重复整个变量(大约50行长)


对此有什么解决方案吗?

您可以在本地/测试设置中使用
REST\u框架[默认节流速率]={'anon':'400/天}

如果使用@override\u setttings,则必须覆盖整个字典。

是的,这也是我几分钟前整理出来的,但我希望有一种方法可以让覆盖只在测试中,这很重要。您对测试使用单独的设置吗?如果是,您可以将此行放入您的测试设置文件中..否..到目前为止,从未考虑对测试使用单独的设置。这是惯例吗?如何在测试中使用不同的设置?如果需要使用覆盖设置,则已完全覆盖dict。最好尝试使用单独的测试settings@mlissner要使用单独的设置(用于测试或任何其他目的),请在与settings.py相同的级别创建文件settings_test.py,顶部行为“from settings import*”,然后覆盖任何需要的内容。然后使用./manage.py test--settings=package.for.settings\u test运行测试