Django模式不识别“QueryString”BaseObject的外键
我目前正在一个Docker实例中的一个Django 1.5.2项目,这个实例和一个单独的Docker实例中的mysql数据库对话。 我正尝试通过创build一个中间表来创build两个表之间的多对多关系,这个中间表包含两个指向两个需要连接的表的外键。 当我运行python manage.py syncdb
时,问题就出现了,它向terminal吐出下面的错误: NameError: name 'QueryString' is not defined
。 QueryString
在我的模型中是明确定义的。
这是我的模特…
class Tag(models.Model): name = models.CharField(max_length=100) class QueryStringTab(models.Model): tag = models.ForeignKey(Tag, related_name='querystringtab') querystring = models.ForeignKey(QueryString, related_name='querystringtab') class QueryString(BaseObject): """ Query string holds an SQL statement and query properties for execution """ server_id = models.IntegerField() schema = models.CharField(max_length=255, blank=True) query = models.CharField(max_length=60000) variables = models.TextField(blank=True) created_by = models.ForeignKey(User, related_name='queries_created') updated_by = models.ForeignKey(User, related_name='queries_last_edited') created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField() touched_by = models.CharField(max_length=1000) config = models.TextField(blank=True) runs_started = models.IntegerField(default=0) runs_completed = models.IntegerField(default=0) runs_completed_duration = models.IntegerField(default=0) # total number of seconds spent running this query to completion formats = "pretty_html html json prettyjson csv excel tableau".split()
值得注意的一点…
1)它很好地识别Tag
模型。
2)它可能与QueryString
是一个BaseObject
的事实BaseObject
3)在mysql数据库中成功创buildTag
表
任何人都可以find明显的,我做错了什么?
QueryStringTab的声明位于QueryStringTab的声明之前; 所以当Python评估第一个时,它还没有看到第二个定义,因此报告一个NameError。
在这种情况下,Django允许你使用string目标而不是类对象:
querystring = models.ForeignKey('QueryString', related_name='querystringtab')
或者,您可以简单地将QueryStringTab的定义移动到最后。
- Docker:如何依靠本地数据库而不是数据库泊坞窗容器?
- 在docker上的Django。 看不到日志
- docker + gunicorn + nginx需要supervisord吗?
- 如何将Emacs的Elpy in-buffer python解释器连接到docker容器?
- 获取“无效的地址”错误上gunicorn绑定与我的服务器IP。 我在docker里试着这个
- 在postgres docker容器中创build一个用户
- 在Amazon Elastic Beanstalk上使用Docker部署Django
- Django不会从Docker开始
- 我可以使用什么命令/configuration部署使用ecs-cli的django + postgres + nginx?