You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django项目如何读取同一Postgres库中Go项目创建的Clients表数据

你可以通过在Django中定义非托管模型的方式,用和查询Cook表完全一致的ORM语法读取Go项目创建的Clients表数据,操作步骤如下:

1. 定义Clients表对应的非托管模型

在你Django项目任意app的models.py文件中添加如下代码:

from django.db import models

class Client(models.Model):
    # 这里的字段需要和PostgreSQL中实际Clients表的字段名、类型完全匹配
    # 示例字段请根据你的实际表结构调整
    id = models.BigAutoField(primary_key=True)
    full_name = models.CharField(max_length=255)
    contact_phone = models.CharField(max_length=30, null=True)
    register_time = models.DateTimeField(auto_now_add=True)

    class Meta:
        managed = False # 核心配置:告诉Django不要维护这个表的结构变更
        db_table = 'clients' # 填写实际的表名,PostgreSQL区分大小写,若表名是大写开头请填'Clients'

如果你不清楚表的字段配置,可以直接用Django自带的inspectdb命令自动生成模型代码:

python manage.py inspectdb clients > client_model.txt

命令执行后打开生成的client_model.txt,把生成的模型代码复制到models.py里即可,自动生成的代码已经默认配置了managed=False和正确的表名。

2. 用ORM查询数据

配置完成后你就可以用和查询Cook表完全一样的语法操作Clients表了,示例如下:

# 查询所有客户端数据
all_clients = Client.objects.all()
# 条件查询
target_client = Client.objects.filter(id=1).first()

如果你之前查询Cook表用的是原生SQL的方式,也可以直接执行SQL读取Clients表:

from django.db import connection

def get_all_clients():
    with connection.cursor() as cursor:
        cursor.execute("SELECT * FROM clients")
        # 把查询结果转为字典格式
        col_names = [item[0] for item in cursor.description]
        return [dict(zip(col_names, row)) for row in cursor.fetchall()]

内容的提问来源于stack exchange,提问作者Fuad Suleymanov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 20:45:08