Skip to main content
 首页 » 编程设计

python之Django 使用整数字段作为外键字段

2025年04月02日46exmyth

为了支持旧的(传统的)数据库,我们必须创建一个使用整数字段作为外键到用户表的表:这是我们的模型看起来如何:

class UserHistory(): 
    user_id = models.IntegerField(null=True, blank=True) 
    # ..... (other fields) ..... 

问题是用户 ID 可能存在也可能不存在于用户表中。有没有办法将该 user_id 字段视为用户表的外键(如果存在)?所以我可以在 django admin 或其他地方显示,而不仅仅是 ID。

请您参考如下方法:

您可以将 ForeignKey 字段与 db_constraint=False 一起使用。查看docs用于警告,但遗留无效数据是其中一种合理的情况。