Skip to main content
 首页 » 编程设计

python之在 Django 的非托管模型中使用外键

2024年11月01日1952php

我有一些非托管模型可以从 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 中的表。

我以为我可以在 Model2 中使用 model1 = models.ForeignKey(Model1) 来获取带有 obj.model1__name 的数据,但我无法让它工作。

请您参考如下方法:

问题与非托管模型无关 - 这只是语法问题。

外键声明是正确的,但访问相关信息是通过点语法完成的:obj.model1.name。