1
在我的項目我嘗試使用外部.py文件,使用這樣我的Django應用程序的風格管理數據:Django的ORM select_related AttributeError的
在我的Django項目我創建了一個模型:
class temp_test_keywords(models.Model):
main_id = models.ForeignKey(temp_main)
test_id = models.ForeignKey(temp_case)
key_id = models.ForeignKey(temp_keywords)
variable_id = models.ForeignKey(temp_variables, null=True, blank=True)
def __str__(self):
return '%s -> %s' % (str(self.main_id), str(self.test_id))
好了,現在在我的外部rst.py文件我開始Django的ENV是這樣的:
import sys
import os
import django
sys.path.append('core')
os.environ['DJANGO_SETTINGS_MODULE'] = 'core.settings'
django.setup()
好吧,在這一點上我導入表並創建類做一些它認爲:
from django.db import models
from django.contrib.contenttypes.fields import
GenericForeignKey,GenericRelation
from django.contrib.contenttypes.models import ContentType
from django.db.models import Count
from frontend.models import temp_test_keywords
class PrepareRst:
def __init__(self,test_id,t_type,log=False):
self.rst = self.mainprep(test_id,t_type)
def mainprep(self,test_id,t_type):
return self.tc_prep(test_id)
#TestCase rst prep method
def tc_prep(self,test_id):
maxpar = temp_test_keywords.objects.filter(main_id = test_id).values('key_id').annotate(total=Count('variable_id')).order_by('-total').first()
totpar = maxpar['total']
#Part1 list creation
count = 0
ltouple =()
l1 = ["Test Case"]
while (count < totpar):
l1.append("")
count += 1
ltouple += (l1,)
#Query for extract keywords, values
kv = temp_test_keywords.select_related()
但是當我運行AttributeError的:對象類型 'temp_test_keywords' 沒有 'select_related'誤差提高
如果我從終端啓動蟒manage.py殼的「KV = temp_test_keywords.select_related屬性( )「命令工作正常,爲什麼在我的.py代碼不?
在此先感謝
嘗試'temp_test_keywords.objects.select_related( 'SomeAttr')' –