我正在试图找出如何让django管理系统将我的模型显示为内联,此时没有从子模型到父模型的直接FK。
我有三个模型(伪代码):
class CampaignMain(models.model):
...
class CampaignMonitor(models.model):
campaign = models.OneToOneField(CampaignMain, pk=True)
class CampaignTransaction(models.model):
campaign = models.ForeignKey(CampaignMain)
所以CampaignMonitor和CampaignTransaction FK CampaignMain都是我需要它构建的方式。
以下是我无法理解的内容:我需要一个显示CampaignMonitor的管理页面,其中CampaignTransaction为内联。但是当我尝试这个时,我得到“在CampaignTransaction中指向CampaignMonitor的错误没有fk”
有没有办法只为管理页面“强制”关系?或者是否有通用的FK选项?我在contrib / contenttypes中看到了一些东西,但它似乎并不是我需要的东西。或者我是否必须以这种方式为两个模型构建自定义管理部分?
一如既往,建议非常感谢。
imanc
答案 0 :(得分:0)
您可以使用Multi-table inheritance代替OneToOneField,它使用一对一的关系实现:
class CampaignMonitor(CampaignMain):
...
现在根据需要修改CampaignMonitor的管理员。