2017-05-26 87 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