有没有办法在Django Sites Framework中将ForeignKey添加到Site模型?

时间:2017-09-23 14:49:17

标签: django django-sites

This answer显示了我正在查找的内容的反转,因为它允许一个Site包含许多Asset个对象:

# 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个对象。

1 个答案:

答案 0 :(得分:0)

您无法双向Foreign key,(从资产到网站,从网站到资产) - >使用数据透视表(多对多)

解决了这个问题

如果您只需要为1个站点保留多个资产的关系,请在Asset模型中保留外键并删除一个站点模型。

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

另外,我建议您阅读有关数据库关系的更多内容