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
个对象。
答案 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
另外,我建议您阅读有关数据库关系的更多内容