2016-02-05 88 views
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」執行完全相同的命令,但不能與腳本一起執行。

我在這裏錯過了什麼?

感謝

+0

您將需要至少設置「DJANGO_SETTINGS」和「django.setup()」......你究竟在做什麼......這通常不是你如何將任何東西插入到你的django db ...看到https://docs.djangoproject.com/en/1.9/howto/initial-data/,因爲它似乎與我認爲你正在嘗試做的事情非常相關... –

+0

如果你確實需要腳本針對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

+0

非常感謝你的答案!通過腳本作爲參數對我來說工作得很好。 –

回答