Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django型号外键无法识别';查询字符串';基本对象_Python_Mysql_Django_Orm_Docker - Fatal编程技术网

Python Django型号外键无法识别';查询字符串';基本对象

Python Django型号外键无法识别';查询字符串';基本对象,python,mysql,django,orm,docker,Python,Mysql,Django,Orm,Docker,我目前正在Docker实例中处理Django 1.5.2项目,该项目在单独的Docker实例中与mysql数据库进行对话。我试图通过创建一个包含两个外键的中间表来创建两个表之间的多对多关系,这两个外键指向需要连接的两个表。当我运行python manage.py syncdb并向终端抛出以下错误时,问题就出现了:namererror:name'QueryString'未定义查询字符串在我的模型中有明确的定义 这是我的模型… 值得注意的点… 1) 它可以很好地识别标记模型。 2) 它是否与Quer

我目前正在Docker实例中处理Django 1.5.2项目,该项目在单独的Docker实例中与mysql数据库进行对话。我试图通过创建一个包含两个外键的中间表来创建两个表之间的多对多关系,这两个外键指向需要连接的两个表。当我运行
python manage.py syncdb
并向终端抛出以下错误时,问题就出现了:
namererror:name'QueryString'未定义
<代码>查询字符串在我的模型中有明确的定义

这是我的模型…

值得注意的点…
1) 它可以很好地识别
标记
模型。
2) 它是否与
QueryString
BaseObject

3) 它正在mysql数据库中成功创建
标记


有人能发现我做错了什么吗

QueryStringTab的声明在QueryStringTab的声明之前;因此,当Python对第一个进行求值时,它还没有看到第二个的任何定义,因此报告了一个NameError

Django允许您在以下情况下使用字符串目标而不是类对象:

querystring = models.ForeignKey('QueryString', related_name='querystringtab')

或者,您可以简单地将QueryStringTab的定义移到末尾。

据我所知,如果您想使用Django自动生成的数据库访问API,您需要使用models.Model类。所以我想你的#2)本能是正确的。什么是
BaseObject
类?非常感谢!我刚刚又从JS切换到Python,对基础知识有些生疏。你也许刚刚救了我一命,让我不至于被我的首相唠叨。最美好的祝福!
querystring = models.ForeignKey('QueryString', related_name='querystringtab')