我目前正在一個Docker實例中的Django 1.5.2項目中,這個實例與單獨的Docker實例中的mysql數據庫對話。我試圖通過創建一個包含兩個指向需要連接的兩個表的外鍵的中間表來創建兩個表之間的多對多關係。運行python manage.py syncdb
時出現問題,它向終端輸出以下錯誤:NameError: name 'QueryString' is not defined
。我的模型中明確定義了QueryString
。Django模型外鍵不識別'QueryString'BaseObject
這裏是我的模型...
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
3)成功地在MySQL數據庫中
任何人都可以找到任何明顯的是,我做錯了創建Tag
表?
據我所知,如果你想使用Django的自動生成的數據庫訪問API,你需要使用models.Model類。所以我想你的本能2)是對的。 –
什麼是BaseObject類? –