2013-11-26 15 views
6

Adlar içeren bir modelimi önceden doldurmak için aşağıdaki komut dosyasını çalıştırmak istiyorum ... Ama bir hata alıyorum. komutBir django db doldurmak için komut dosyası çalıştırın

first_names = first_names.split('\n') 
last_names = last_names.split('\n') 
phones=[str(i) for i in range(2310000000,2310999999, 1563)] 
emails = ['test%[email protected]' %i for i in range(0,144)] 

import os 
os.environ['DJANGO_SETTINGS_MODULE']='project.settings' 

from customer.models import Customer 
from django.contrib.auth.models import User 

users = User.objects.all() 

if __name__ == "__main__": 
    for i in range(10): 
     customer = Customer(first_name=choice(first_names), last_name=choice(last_names), 
         telephone=choice(phones),email=choice(emails), creator=choice(users)) 
     customer.save() 

ve (ı doğru "çizmek" eğer)

-project_dir 
| 
|--customer 
|--| 
    |--models.py(etc...) 
| 
|--project(the settings file is here) 
|-- 
|--another_app 
|--scripts (here is my python script) 
+0

Betiğin kendisi nerede bulunuyor? – bozdoz

+0

Soruyla ilgisi olmayan bir şey var, ancak çizim dizini yapılarını çok daha kolaylaştıran 'ağaç' adlı bir UNIX komut satırı aracı var. Linux'unuz varsa sudo apt-get install tree' yapmayı deneyin. – wdh

+0

Maalesef işyerinde pencerelerdeyim ... evdeki Linux kutumda var (ağaç komutunu kastediyorum). – Apostolos

cevap

5

Eğer senaryoya sys yolunu ekler olabilir hata

Traceback (most recent call last): 
    File "populatedb.py", line 431, in <module> 
    from customer.models import Customer 
ImportError: No module named customer.models 

dir_tree olduğunu gibi:

import sys 
sys.path.append('/path/to/your/djangoproject/') 

Umut Bu yardımcı olur. Ben os.environ var project_settings

script_path = os.path.dirname(__file__) 
project_dir = os.path.abspath(os.path.join(script_path,'..','..','project_folder')) 
sys.path.insert(0, project_dir) 
os.environ['DJANGO_SETTINGS_MODULE']='rhombus.settings' 

teşekkür ederiz olarak ayarlamadan önce bu satırları ekledikten sonra

+0

Yeap, yaptığım şey ... teşekkür ederim! – Apostolos

İlgili konular