I am trying to create a script that populates a database with test users. I am new to Django and Python. I keep on getting:
Runtime error: App registry isn\'
I found out that if I run populate through the manage.py
shell with the execfile()
command then it runs properly. Everything needed to be setup before I start modifying the database or run outside code. Thanks to lanzz for the hint.
This is a known and intended behaviour according to Django's 1.7 release notes, under the "startup sequence" clause:
Another common culprit is django.contrib.auth.get_user_model(). Use the AUTH_USER_MODEL setting to reference the User model at import time.
and that should do the trick
for reference: https://docs.djangoproject.com/en/dev/releases/1.7/#app-loading-changes
import os
import django
[...]
if __name__ == '__main__':
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings')
django.setup()