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

Ubuntu VirtualBox部署的Django项目接入局域网MSSQL实现CRUD及过滤功能问询

实现步骤

1. 安装依赖

  • 在当前虚拟环境中安装MSSQL对接依赖:django-mssql-backend、unixodbc、SQL Server官方ODBC驱动,注意安装版本要匹配Python3.6的兼容范围
  • 更新requirements.txt或Pipfile,记录新增的依赖项方便后续部署

2. 配置多数据库

  • 修改mysite/settings.py,在原有DATABASES配置项中新增MSSQL数据源,自定义别名比如mssql_x,依次填写正确的ENGINE、HOST、PORT、NAME(即目标x库)、USER、PASSWORD、ODBC相关OPTIONS参数
  • 可选配置:新增数据库路由规则,指定对应模型默认操作MSSQL数据源,避免每次操作都手动指定库

3. 定义对应模型

  • 修改mysite/core/models.py,为x库中需要操作的表编写对应Django模型,必须设置managed = False和正确的db_table参数,避免Django修改MSSQL原生表结构
  • 可执行inspectdb --database mssql_x命令自动生成模型代码,按需调整字段属性即可,减少手动编写工作量

4. 开发筛选、表单逻辑

  • 修改mysite/core/filters.py,基于新增的MSSQL表模型定义对应筛选器,实现需要的字段筛选功能
  • 修改mysite/core/forms.py,新增对应模型的表单类,用于新增、编辑场景下的字段校验

5. 开发视图逻辑

  • 修改mysite/core/views.py,新增对应视图(函数视图或类视图均可),实现数据列表查询(接入筛选器)、新增、编辑、删除逻辑,操作MSSQL数据时要显式指定对应的数据库别名
  • 视图返回的上下文需包含数据集、筛选器实例、表单实例等必要字段

6. 配置路由

  • 修改mysite/urls.py,新增对应CRUD操作的路由映射规则

7. 前端页面开发

  • 在mysite/templates目录下新增datagrid页面模板,引入你常用的datagrid前端组件,绑定后端返回的数据集、筛选表单、CRUD操作接口
  • 如有需要可修改static目录下的css、js文件调整页面样式和交互
注意事项
  • 提前确认VirtualBox的Ubuntu虚拟机网络和局域网MSSQL Server网络互通,且MSSQL开启了远程访问权限、对应端口已放行
  • 生产环境不要把MSSQL的账号密码硬编码在settings.py中,建议通过环境变量读取
  • 操作MSSQL原生数据时做好异常捕获,避免事务异常导致数据损坏
  • Python3.6版本不要安装过高版本的django-mssql-backend,需提前确认版本兼容性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 11:54:03