2017-05-01 25 views
0

models.py

class Genre(models.Model): 
    name = models.CharField(max_length=30) 

    def __unicode__(self): 
     return self.name 

Genres.py

from MyVideoGames.models import Genre 
from ClientIGDB import ClientIGDB 

genres = ClientIGDB.api_call("genres", ["name"], 50) 

for genre in genres: 
    g = Genre.objects.create(name=genre["name"]) 
    g.save() 

當我嘗試添加一些車型的SQLite數據庫我不能做到這一點進口: from myproj.models import Genre。我不知道爲什麼...... 當我這樣做,顯示此錯誤:錯誤增加新的車型數據庫的Django

% (desc, ENVIRONMENT_VARIABLE)) django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings. 如果有人能幫助我當您運行使用Python的模型,你的腳本,我會真的gratefull

+0

究竟發生了什麼錯誤?當你運行''makemigrations''? – Grimmy

+0

不,它發生在我運行genre.py以便使用api中的數據更新te db時。 –

回答

0

需要告訴python django先存在。在腳本開始處試試這個:

import os 
import sys 
import django 

sys.path.append("/path/to/your/project") 
os.environ["DJANGO_SETTINGS_MODULE"] = "yourProjectName.settings" 
django.setup() 

這就像一個mini settings.py。你沒有在'django'內部運行某些東西,所以你需要首先開始。我想知道是否有其他人可以將此改進爲一種解決方案,我們無需在每次編寫新腳本時對其進行硬編碼。

+0

謝謝這個作品! –