首页 > 解决方案 > 如何在 db 中没有 ForeignKey 的情况下执行 ManyToOne?

问题描述

eb_config_object = models.ForeignKey(EbConfig, on_delete=models.CASCADE)

我想序列化一个对象,其中包括另一个对象。但问题出在我的设计理念中,我不能允许 ForeignKey(硬外键)存在于我的数据库(MySQL)中。

有什么方法可以在 Django2.x 中执行该操作吗?

标签: djangodatabasepython-3.xdjango-models

解决方案


eb_config_object = models.ForeignKey(EbConfig, on_delete=models.CASCADE, db_constraint=False)

当我发布这个问题时,我知道ForeignKey的属性(db_constraint)。但是我没有通过Django自动生成的SQL。它告诉我找不到字段。

只需通过manage.py将模型迁移到物理数据库,一切正常。您可以从Django提供的ForeignKey中获得所有好处,并且您的数据库中没有任何物理ForeignKey。


推荐阅读