0

我在运行自定义命令时遇到问题,因为它会抛出 NameError:未定义全局名称“graphofknowledge”。我的文件结构是

项目文件
|-manage.py
|-..
|-graphofknowledge(应用程序)
  |-models.py
  |-views.py
  |-管理
    |-__init__.py
    |-命令
      |-__init__.py
      |-customCommand.py

这是我的自定义命令的代码

from django.core.management.base import BaseCommand
from graphofknowledge.models import TagTrend_refine
class Command(BaseCommand):
    args = '<foo bar ...>'
    help = 'our help string comes here'
    def loadTagTrend(self, fileName):
        listOfData = []
        f = open(fileName)
        lines = f.readlines()
        f.close()
        for line in lines:
            temp = line.strip().split("\t")
            data = TagTrend_refine(
            tag = temp[0],
            trendData = temp[1]
            )
            listOfData.append(data)
        TagTrend_refine.objects.bulk_create(listOfEntities)

    def handle(self, *args, **options):
        self.loadTagTrend(graphofknowledge/tagTrend_refine.txt)

我将应用名称添加到 INSTALLED APP 中。当我在自定义命令中运行打印输出时,它可以工作。但是一旦我为我的模型添加了导入语句,它就会抛出 NameError。我可以知道如何解决这个问题吗?

4

1 回答 1

2

您似乎忘记了在文件名字符串中使用引号。尝试:

    self.loadTagTrend('graphofknowledge/tagTrend_refine.txt')
于 2016-02-29T13:03:57.980 回答