我试图创建一个脚本,用测试用户填充数据库。我不熟悉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()
有没有办法通过使用信号
或其他方式强制用户配置文件创建等待注册表应用程序?
我发现,如果我运行填充通过manage.py
shell与可执行文件()
命令,然后它运行正常。在我开始修改数据库或运行外部代码之前,一切都需要设置。谢谢Lanzz的提示。
根据Django的1.7发行说明,在“启动顺序”条款下,这是一种已知和预期的行为:
另一个常见的罪魁祸首是django.contrib.auth.get_user_model()。使用AUTH_USER_MODEL设置在导入时引用User模型。
这就应该奏效了
供参考: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()
我有一个UWP应用程序,我想与另一个程序(有线广播)接口。Wirecast建议的方法是调用以下代码: 当我从UWP应用程序调用此代码时,我得到以下错误: 系统运行时。互操作服务。COMException:“使用CoCreateInstanceFromApp创建CLSID为{A416C15B-A073-4994-8DB5-87527A41B2FA}的COM组件实例失败,原因是以下错误:8004015
我知道以前有人问过这个问题,但我找不到适合我的问题。我正在使用mongo为我的项目创建模式并创建路由,但由于某些原因,它一直给我一个错误。 扔新的猫鼬。错误。MissinSchemaError(名称);^MongooseError[MissinSchemaError]:模式尚未注册为模型“项目”。使用mongoose.model(名称,模式)在Mongoose.model(C:\用户\samib\
我看到了其他相关问题,但对解决方案不满意。 我已经根据我的要求对上面的教程做了我自己的修改,像使用城市,国家实体而不是学生。 我的beans.xml是这样的 和CountryJDBCTemplate.java如下所示: 2013年12月11日下午1:06:02 org.springframework.context.support.classpathxmlapplicationcontext准备r
错误如下: 02-11 13:24:31.561 526 2-5262/?E/AndroidRuntime:致命异常:main process:com.example.vicky.project,pid:5262 java.lang.runtimeException:无法启动活动ComponentInfo{com.example.vicky.project/com.example.vicky.pr
我正在处理一些注册过程的Android应用程序(原生Android),使用AWS放大和Cognito用户池从这个链接https://aws-amplify.github.io/docs/android/authentication#signup。 我已经做了,直到放大添加验证和放大推送。我的原始文件夹中有配置文件。在实现注册功能后,我在尝试从我的应用程序注册时遇到以下错误: 2019-10-23
问题内容: 我需要在Java应用程序中启动1-3个外部程序,这些程序具有用户定义的路径。我有几个要求: 如果程序已经在运行,我不希望其执行 我不希望任何程序从我的Java应用程序中夺走焦点 我不在乎其中任何一个是否无法启动。他们只需要默默地失败。 到目前为止,这是我想出的: 然后我再用其他两条路径重复3次。就像我期望的那样开始,并满足了我的第三个要求,但是在前两个条件上却失败了。 做这个的最好方式