Hi, this is more of a Python question but here is something I don't understand in a Django script.
The following script works fine:
import os
import django
if __name__ == '__main__':
print("Starting Rango delete data script...")
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'tango.settings')
django.setup()
from rango.models import Category, Page
Page.objects.all().delete()
Category.objects.all().delete()
print("Deleted all data from tables: Page and Category.")
...but when I move the "from... import" statement to the top of the file:
import os
import django
from rango.models import Category, Page
if __name__ == '__main__':
print("Starting Rango delete data script...")
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'tango.settings')
django.setup()
Page.objects.all().delete()
Category.objects.all().delete()
print("Deleted all data from tables: Page and Category.")
...I get an error:
File "C:\landy\lib\site-packages\django\conf\__init__.py", line 40, in _setup
% (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TAB
LESPACE, but settings are not configured. You must either define the environment
variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing s
ettings.
What is going on?
Thanks