首页 > 解决方案 > Django 模型 - 加入表而不添加模型

问题描述

我有两个数据库要连接到我的 Django 应用程序。我只有一个数据库的读取权限,我只想将我的模型的几列拉到另一个我有读写权限的数据库中。'inspectdb' 具有 100 多个表和 100 多个列的仅几列的读取访问数据库是没有意义的。

如何使用连接以最简单的方式将另一个数据库中的列添加到现有模型中?我可以使用带有参数的原始 sql 查询将字段添加到我的模型中吗?

class APPNAME(models.Model):
    class Meta:
        db_table = 'APPNAME'

    item= models.PositiveIntegerField(db_column='Item')
    issue = models.CharField(max_length=200, db_column='Issue')
    detail = models.TextField(db_column='Detail')
    created_at = models.DateTimeField(auto_now_add=True, db_column='Create Datetime')
    updated_at = models.DateTimeField(auto_now=True, db_column='Update Datetime')
    external_column = How to join this column???

这是一个简单的 SQL 查询,用于展示我正在尝试使用 Django 模型做什么。

SELECT
APP.[Item]
,APP.[Issue]
,APP.[Detail]
,APP.[Create Datetime]
,APP.[Update Datetime]
,BIG.[External Column]

FROM DEVDB.dbo.APPNAME APP
INNER JOIN PRODDB.dbo.BIGTABLE BIG ON APP.[Item] = BIG.[Item]

标签: djangodjango-models

解决方案


推荐阅读