Django syncdb-NameError:name'*********';没有定义

Django syncdb-NameError:name'*********';没有定义,django,django-models,Django,Django Models,我是Django&Python新手,一直在学习教程,但我遇到了一个让我难堪的错误 我正在尝试构建django模型/数据库 当我尝试运行python manage.py syncdb时,我在命令行提示符中收到以下错误: C:\Users\6233114\Django-Projects\GlobalX>python manage.py syncdb Traceback (most recent call last): File "manage.py", line 10, in <mo

我是Django&Python新手,一直在学习教程,但我遇到了一个让我难堪的错误

我正在尝试构建django模型/数据库

当我尝试运行python manage.py syncdb时,我在命令行提示符中收到以下错误:

C:\Users\6233114\Django-Projects\GlobalX>python manage.py syncdb
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
443, in execute_from_command_line
    utility.execute()
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
382, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 196,
 in run_from_argv
    self.execute(*args, **options.__dict__)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 231,
 in execute
    self.validate()
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 266,
 in validate
    num_errors = get_validation_errors(s, app)
  File "C:\Python27\lib\site-packages\django\core\management\validation.py", lin
e 30, in get_validation_errors
    for (app_name, error) in get_app_errors().items():
  File "C:\Python27\lib\site-packages\django\db\models\loading.py", line 158, in
 get_app_errors
    self._populate()
  File "C:\Python27\lib\site-packages\django\db\models\loading.py", line 64, in
_populate
    self.load_app(app_name, True)
  File "C:\Python27\lib\site-packages\django\db\models\loading.py", line 88, in
load_app
    models = import_module('.models', app_name)
  File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in im
port_module
    __import__(name)
  File "C:\Users\6233114\Django-Projects\GlobalX\app_data\models.py", line 15, i
n <module>
    class LanguageCode(models.Model):
  File "C:\Users\6233114\Django-Projects\GlobalX\app_data\models.py", line 27, i
n LanguageCode
    languageDirectionID = models.ForeignKey(languageDirection, default=1, db_col
umn="languageDirectionID")
NameError: name 'languageDirection' is not defined

C:\Users\6233114\Django-Projects\GlobalX>
LanguageDirection和LanguageCode之间的关系是一对多的关系,其中LanguageDirection.LanguageDirectionID(一)和LanguageCode.LanguageDirectionID(多)


关于导致此错误的原因以及如何修复此错误的任何建议?

languageDirectionID=models.ForeignKey(languageDirection,default=1,db_column=“languageDirectionID”)应该是
languageDirectionID=models.ForeignKey(languageDirection,default=1,db_column=“languageDirectionID”)
。该错误指的是languageDirection(应该引用外键目标的类名而不是DB表名)未正确大写。

languageDirectionID=models.ForeignKey(languageDirection,默认值=1,DB_column=“languageDirectionID”)
应该是
languageDirectionID=models.ForeignKey(LanguageDirection,默认值=1,db_column=“languageDirectionID”)
。该错误指的是languageDirection(应指外键目标的类名而非DB表名)未正确大写。

这是错误的实质:

languageDirectionID = models.ForeignKey(languageDirection, default=1, db_col
umn="languageDirectionID")
NameError: name 'languageDirection' is not defined
线路应为:

languageDirectionID = models.ForeignKey(LanguageDirection, default=1, db_column="languageDirectionID")
因为ForeignKey接受一个类,或者引用一个类的名称,比如
“LanguageDirection”


对于将来,NameError表示您试图使用的变量不在范围内或不存在。

这是错误的实质:

languageDirectionID = models.ForeignKey(languageDirection, default=1, db_col
umn="languageDirectionID")
NameError: name 'languageDirection' is not defined
线路应为:

languageDirectionID = models.ForeignKey(LanguageDirection, default=1, db_column="languageDirectionID")
因为ForeignKey接受一个类,或者引用一个类的名称,比如
“LanguageDirection”


对于未来,NameError意味着您试图使用的变量不在范围内或不存在。

我曾几次遇到这样的情况:在Django中定义模型时,外键字段与在同一文档中进一步定义的模型相关

这在PyGrace2.7中没有警告,我觉得有点奇怪。无论如何,要解决这个问题,只需在类名周围加上“”


models.ForeignKey('SomeModel')

在Django中定义模型时,外键字段与在同一文档中进一步定义的模型相关

这在PyGrace2.7中没有警告,我觉得有点奇怪。无论如何,要解决这个问题,只需在类名周围加上“”


models.ForeignKey('SomeModel')

谢谢!我应该更清楚。我犯了一个多么愚蠢的错误。谢谢你!我应该更清楚。我犯了一个多么愚蠢的错误。