No, you're not, but, there isn't a way to load or inject the app settings so that diffsettings and other project level things (like testing) can see them? That's my question. I've read something on a github repo but it seems clunky and over-done. My main goal really is to change some settings on the tests so I can test different scenarios.
Right now it seems I can do it by manually changing the "constants" importing app.settings, saving the old values, assigning new values and restoring at the end. But, as the settings.py is loaded once, the "validation" is also done once (the ImproperlyConfigured part).
Now, my new question: If I do an object Settings or something like that, and set the __getattr__ to "dinamically" get the settings of the project settings and if it's not there default to a setting of the same object, then I should be able to change the settings with "@override_settings(SETTING_A=True)" or "with self.settings(SETTING_A=True):".
And, for example, on the explicit case of SETTING_B that depends on SETTING_A, I could override it's getter (and setter maybe) so I could raise the exceptions if needed. The thing is, I know __get__ descriptor has "priority" over "__getattr__" but on the same class (or object). If i use the @property decorator I will still have "precedence" over getattr? Since I'm applying it's __get__ descriptor to an object inside.
Just want to know if my approach would work. As I see it, it's like lazy loading the settings so if the settings change in the project environment, they should also change in the app. Or something like that is what I'm trying to do.
What do you think? What would you do?
Thank you.