2016-04-28 68 views
2

我有三個表。 TagQueryStringTagQueryStringQueryStringTag第三個表格被創建爲連接TagQueryString,並允許一個Tag與許多QueryString關聯,反之亦然。它包含兩個外鍵。一位指着Tag,一位指着QueryString在Django ORM多對多關係中將對象分配給對象

流程是這樣的。一個QueryString對象被創建並保存在數據庫中。之後,創建4 Tags。我想將這些需求與特定的對象聯繫起來。

到目前爲止,我在所有嘗試中都失敗了。文檔沒有提供太多幫助,我已經嘗試了所有我能想到的東西。

這裏是我的模型...

class QueryString(BaseObject): 

    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() 

class Tag(models.Model): 
    name = models.CharField(max_length=100) 

class QueryStringTab(models.Model): 
    tag = models.ForeignKey(Tag, related_name='querystringtag') 
    querystring = models.ForeignKey(QueryString, related_name='querystringtag') 

這是我的觀點...
(請記住,query的是,我想唯一的QueryString對象與以下四個標籤關聯)

tags = ['one', 'two', 'three', 'four'] 

for tag in tags: 
    newtag = Tag(name=tag) 
    newtag.save() 
    query.querystringtab.tag(newtag.pk) 

任何人都可以指向正確的方向嗎?

回答

相關問題