2017-09-23 74 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

相关问题