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

标签 python django django-models django-views

我有一些非托管模型可以从 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 的数据,但我无法让它工作。

最佳答案

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

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

关于python - 在 Django 的非托管模型中使用外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23219774/

相关文章:

python - 如何在 python 中使用一组列表来分区和重新排列列表值?

python - 在创建方法 django rest 框架中引发错误

python - 在 django 上使用 folium 的最佳实践

python - 如何过滤通用ListView?

python - django.db.utils.OperationalError 无论我尝试什么

python - 如何在 Python 中解析命令行参数?

python - 堆积条形图求和特征值

django - Redis队列与在apache多线程上运行的django web应用程序一起使用

python - 使用 EmailMultiAlternatives 向 django 发送电子邮件

python - Django模型更新或创建具有唯一约束的对象