1
我是django的新手。想要在我的項目的數據庫中創建表格,所以我搜索了教程。 models.py:無法使用django修改數據庫
from django.db import models
class Blah(models.Model):
first = models.IntegerField()
second = models.IntegerField()
腳本將數據寫入到數據庫:
from django.conf import settings
settings.configure()
from core.models import Blah
b = Blah(first = 1, second = 2)
b.save()
當我試圖使用Django 1.9啓動腳本,它給我的錯誤:
C:\Python27\Scripts\reports>to_db.py
Traceback (most recent call last):
File "C:\Python27\Scripts\reports\to_db.py", line 4, in <module>
from core.models import Blah
File "C:\Python27\Scripts\reports\core\models.py", line 5, in <module>
class Blah(models.Model):
File "C:\Python27\lib\site-packages\django\db\models\base.py", line 94, in __new__
app_config = apps.get_containing_app_config(module)
File "C:\Python27\lib\site-packages\django\apps\registry.py", line 239, in get_containing_app_config
self.check_apps_ready()
File "C:\Python27\lib\site-packages\django\apps\registry.py", line 124, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
我已經將應用程序添加到INSTALLED_APPS,並且能夠使用「manage.py shell」執行完全相同的命令,但不能與腳本一起執行。
我在這裏錯過了什麼?
感謝
您將需要至少設置「DJANGO_SETTINGS」和「django.setup()」......你究竟在做什麼......這通常不是你如何將任何東西插入到你的django db ...看到https://docs.djangoproject.com/en/1.9/howto/initial-data/,因爲它似乎與我認爲你正在嘗試做的事情非常相關... –
如果你確實需要腳本針對Django(和ORM),您需要使用[shell管理命令](https://docs.djangoproject.com/es/1.9/ref/django-admin/#shell),將腳本作爲輸入到它。 [相關問題](http://stackoverflow.com/questions/16853649/executing-python-script-from-django-shell) – mragh
非常感謝你的答案!通過腳本作爲參數對我來說工作得很好。 –