在Django中使用无管理模型的外键

2 投票
1 回答
1298 浏览
提问于 2025-04-18 03:45

我有一些不受管理的模型,用来从Oracle数据库获取数据,但在文档中找不到关于如何连接表的信息。

我有这些模型:

class Model1(models.Model):
    id = models.CharField(max_length=200, primary_key=True)
    name = models.CharField(max_length=200, blank=True, null=True)

    class Meta:
        managed = False
        db_table = 'table_1_name'

class Model2(models.Model):
    model1_id = models.CharField(max_length=200, blank=True, null=True)

    class Meta:
        managed = False
        db_table = 'table_2_name'

我想把模型1和模型2中的表连接起来。

我本以为可以在模型2中使用 model1 = models.ForeignKey(Model1) 来获取数据,像这样用 obj.model1__name,但我就是搞不定。

1 个回答

3

这个问题和不受管理的模型没有关系,主要是语法的问题。

外键的声明是正确的,但要访问相关的信息时,需要用点语法,也就是这样写:obj.model1.name

撰写回答