2017-09-23 57 views
0

This answer顯示的就是我要找的逆,因爲它允許一個Site有許多Asset對象:有沒有辦法在Django Sites Framework的Site模型中添加一個ForeignKey?

# Note: This is not my code. This is opposite of what I want. 
# I want the ForeignKey on the Site object. 
from django.contrib.sites.models import Site 

class Asset(models.Model): 
    site = Models.ForeignKey(Site) 

有沒有辦法到ForeignKey的字段添加到Site模式,這樣一個Asset能有很多Site對象?像這樣的東西(非工作)代碼:

from django.contrib.sites.models import Site 

class UpdatedSite(Site): 
    asset = models.ForeignKey(Asset) 

我明白,我可以用一個ManyToManyField但對我來說一個Site對象將永遠不會擁有多個Asset對象。

回答

0

你不能在兩個方向(從資產到網站,並從網站到資產)Foreign key - >這是解決使用數據透視表(多對多)

如果你只需要關係到持有多一個站點的資產會在資產模型中留下外鍵,並刪除一個站點模型。

from django.contrib.sites.models import Site 

class Asset(models.Model): 
    site = Models.ForeignKey(Site) 

-

from django.contrib.sites.models import Site 

class UpdatedSite(Site): 
    pass 

另外,我建議你讀多一點關於數據庫關係

+0

我的問題明確規定,我不想在這兩個方向上一個ForeignKey。我希望它在網站模型上。 – YPCrumble

+0

我不認爲你有時間在不到30秒的時間內通過理解閱讀我的答案。我指的是陳述你的代碼是現在的,所以請善待並閱讀完整的答案。 – iklinac

+0

我把我的問題的特異性提高到了11。 – YPCrumble

相關問題