python - 运行时错误 :App registry isn't ready yet

标签 python django runtime-error django-1.7

我正在尝试创建一个脚本,用测试用户填充数据库。我是 Django 和 Python 的新手。我不断得到:

Runtime error: App registry isn't ready yet. 

这是输出和错误:

starting population script
Traceback (most recent call last):
File "populate.py", line 32, in <module>
populate()
File "populate.py", line 22, in populate
i.save()
File "c:\Python27\lib\site-packages\django-1.7a2-py2.7.egg\django\db\models\base.py",    line 603, in save
force_update=force_update, update_fields=update_fields)
...
...
...    
File "c:\Python27\lib\site-packages\django-1.7a2-py2.7.egg\django\apps\registry.py", line   156, in get_models
self.check_ready()
File "c:\Python27\lib\site-packages\django-1.7a2-py2.7.egg\django\apps\registry.py",   line 119, in check_ready
raise RuntimeError("App registry isn't ready yet.")
RuntimeError: App registry isn't ready yet.

代码如下:

import os
import datetime

def populate():
    freer = User.objects.create_user( 'joyyie', 'lolcats@gmail.com', 'e')
    cat = User.objects.create_user( 'steve', 'l2olcats@gmail.com', 'e')
    dog = User.objects.create_user( 'aasd', 'lo3lcats@gmail.com', 'ad')
    cow = User.objects.create_user( 'sadsfa', 'lol4cats@gmail.com', 't' )
    pig = User.objects.create_user( 'regibald', 'lolc5ats@gmail.com', '0')
    donkey = User.objects.create_user( 'turnip', 'lolca6ts@gmail.com', 'pop')
    human = User.objects.create_user( 'tutu', 'lolcat7s@gmail.com', 'pa')
    a = [freer,cat,dog,cow,pig,donkey,human]

    for i in a:
        i.first_name= 'jackee'
        i.is_superuser=True
        i.is_staff=False
        i.date_joined=datetime.datetime.today()
        i.last_login=datetime.datetime.today()

        i.save()


if __name__=='__main__':
    print "starting population script"
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'infosmos.settings')
    from django.conf import settings
    from django.db import models
    from django.contrib.auth.models import User
    populate()

有没有办法通过使用信号或其他方式强制创建用户配置文件以等待注册表应用程序?

最佳答案

[django 1.7] 您希望运行的独立脚本,导入 django 和如下设置

import os

import django

[...]


if __name__ == '__main__':  
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings')

    django.setup()

关于python - 运行时错误 :App registry isn't ready yet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22744949/

相关文章:

Python:使用正则表达式从字符串中删除\u200b

django - 您可以从ModelForm访问Django模型 “property”吗?

swift - 可能是指针错误 Midi sysEx

python - 我应该如何理解 python-sklearn 中的 .transform 方法?

python - 在 python 正则表达式中查找特殊字符时匹配任何内容

python - 使用 python : intervals at x:00 repeat

python - Django 将模型 ID 添加到 URL

python - Errno 111 Connection refused with a very basic password reset

asp.net - 看不到 ASP.NET 应用程序的真实错误消息?

java - 数独 block 检查器 Java