2017-05-26 88 views
0

我試圖訪問我的模型的Django之外,像這樣:訪問的Django模型

import django 
import sys 
import os 
#from django.db import models 
from companies.models import Entity 

class MyClass(): 

    sys.path.append("mypath") 
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "en_settings") 
    django.setup() 

    urls = Entity.objects.values_list('twitter_url', flat=True)[:10] 
    for u in urls: 
     print u 

我得到的錯誤:

No module named companies.models

如何訪問我的模型?謝謝

+1

您需要添加您的PYTHONPATH導入之前... –

+0

@JoranBeasley是不是在我的設置,完成該值django_setup後發生:BASE_DIR = os.path.dirname (os.path.dirname(os.path.abspath則(__ FILE__))) – Atma

回答

0

約旦比斯利在評論中是正確的。該模型的進口具有

import django 
import sys 
import os 


class MyClass(): 

    sys.path.append("mypath") 
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "en_settings") 
    django.setup() 
    from companies.models import Entity 
    urls = Entity.objects.values_list('twitter_url', flat=True)[:10] 
    for u in urls: 
     print u