在带有旧数据库的 django 项目中使用复合主键和外键

问题描述

this question 中,e4c5 建议使用单个主键更新旧数据库中的表以与 Django 一起使用。但是,每个引用更新表的表都将使用复合主键作为引用,因此在 Django 中不起作用。有没有办法更新表以便它们使用新的主键,或者有解决方法

解决方法

我制作了一个虚拟主键字段实现,它将复合键表示为单个 json 值,它欺骗了 Django,并允许在不更改表的情况下访问旧数据库 - https://viewflow.medium.com/the-django-compositeforeignkey-field-get-access-to-a-legacy-database-without-altering-db-tables-74abc9868026