/ / Wie man eine verschachtelte Django-Einstellung in Tests überschreibt - django, django-rest-framework, settings

Wie man eine verschachtelte Django-Einstellung in Tests überschreibt - django, django-rest-framework, settings

Ich weiß von Djangos override_settingss und modify_settings Dekorateur, aber wie überschreiben Sie kompliziertere Einstellungen?

Zum Beispiel habe ich eine Einstellung wie:

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

...more keys...
}

Ich möchte die Rate auf 10000 / Tag setzen, so dass ich sie nie treffe, wenn ich lokal arbeite. modify_settings funktioniert nur auf Listen und zu verwenden override_settings Ich müsste die gesamte Variable (die etwa 50 Zeilen lang ist) wiederholen.

Irgendeine Lösung dafür?

Antworten:

0 für die Antwort № 1

Sie können verwenden REST_FRAMEWORK[DEFAULT_THROTTLE_RATES] = { "anon": "400/day" } in Ihren lokalen / Testeinstellungen

Sie müssen das gesamte Wörterbuch überschreiben, wenn Sie @override_settings verwenden. Django @override_settings erlaubt kein Wörterbuch?