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

如何为Golang+PostgreSQL项目搭建Django管理后台并映射数据库表

用Django为已有PostgreSQL数据库搭建Admin后台

步骤1:初始化Django项目并配置数据库

先创建全新的Django项目:

django-admin startproject pg_admin_backend
cd pg_admin_backend

打开settings.py,找到DATABASES配置块,替换为你的PostgreSQL连接信息:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': '你的数据库名',
        'USER': '数据库用户名',
        'PASSWORD': '数据库密码',
        'HOST': '数据库地址(本地填localhost)',
        'PORT': '数据库端口(默认5432)',
    }
}

步骤2:创建Django应用并自动生成模型

先创建一个用于管理现有表的应用:

python manage.py createapp db_admin

用Django的inspectdb命令扫描PostgreSQL数据库,自动生成对应的数据模型:

python manage.py inspectdb > db_admin/models.py

打开生成的db_admin/models.py,注意每个模型类里的managed = False属性——这会告诉Django不要自动创建/删除这些表(毕竟表已经在Golang项目的数据库中存在),如果后续需要通过Django修改表结构,可以手动将其改为True。

步骤3:注册模型到Admin面板

打开db_admin/admin.py,导入生成的模型并注册到Admin后台:

from django.contrib import admin
from .models import 模型名1, 模型名2, 模型名3  # 替换为你实际的模型类名

admin.site.register(模型名1)
admin.site.register(模型名2)
admin.site.register(模型名3)

如果需要自定义Admin面板的显示样式(比如列表展示字段、搜索功能),可以自定义Admin类:

class 模型名1Admin(admin.ModelAdmin):
    list_display = ('字段1', '字段2', '字段3')
    search_fields = ('字段1', '字段2')

admin.site.register(模型名1, 模型名1Admin)

步骤4:同步迁移记录(伪迁移)

由于数据库表已经存在,不需要执行真实迁移,只需让Django的迁移系统记录这些表的状态:

python manage.py makemigrations
python manage.py migrate --fake

步骤5:创建超级用户并启动服务

创建Admin后台的超级用户:

python manage.py createsuperuser

启动Django开发服务器:

python manage.py runserver

访问http://localhost:8000/admin,用刚才创建的超级用户登录,就能看到从PostgreSQL数据库映射过来的表,直接在Admin面板中进行增删改查操作。

注意事项

  • inspectdb可能对特殊字段类型(比如自定义枚举)识别不准确,需要手动调整模型字段类型。
  • 如果数据库表有外键关联,inspectdb会自动生成ForeignKey字段,但要检查关联模型是否正确。
  • 若表名不符合Django命名习惯,可在模型类中添加verbose_name优化显示:
    class 模型名(models.Model):
        # ... 字段定义
        class Meta:
            managed = False
            db_table = '实际数据库表名'
            verbose_name = '友好的单表名称'
            verbose_name_plural = '友好的多表名称'
    

内容的提问来源于stack exchange,提问作者Barun Bhattacharjee

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 04:20:16