Django ORM 和 Azure SQL

Posted

技术标签:

【中文标题】Django ORM 和 Azure SQL【英文标题】:Django ORM and Azure SQL 【发布时间】:2021-10-01 04:25:43 【问题描述】:

这里是学生程序员!所以放轻松...

我和我的团队正在使用 Django 构建一个 Web 应用程序,该应用程序的中心是创建结构化数据库、插入从 PDF 中提取的数据,以及使用户能够查看数据库中的记录。对于考古部门来说,他们需要数字化的纸质档案。

第一次使用 Django 和 Azure,所以我不完全了解它们如何/是否适合。

我已经开始编写 models.py 文件来创建模型。我们是否还需要设置 Azure SQL 来存储数据库?还是它完全由 Django 管理,因为它有它的后端接口? 基本上,ORM 只是用于初始化数据库和访问对象,但仍然需要在 Azure 上专门为数据库设置一些东西?

提前致谢

【问题讨论】:

数据库(在本例中为 Azure SQL)是您的 Web 框架(此处为 Django)访问以存储数据的单独资源。 Models.py 文件是数据库和 django 之间的桥梁。即使没有在项目中创建 models.py 文件,您也可以访问数据库,但是 django 为您提供了 models.py 的功能,可以轻松地与数据库进行交互。回答您的实际问题:是的,您需要单独创建一个 Azure SQL 数据库实例。 【参考方案1】:

要使您的 Web 应用程序与数据通信,是的,您需要创建 Azure SQL 数据库并使用 settings.py 中的数据库管理员帐户详细信息将您的 Web 应用程序与数据库连接并执行 CRUD 操作。

您可以在 Azure 中创建 SQL Server,然后在其中创建数据库。 请按照以下步骤使用 Azure 门户创建 SQL Server。

在顶部搜索框搜索“sql server”并选择SQL servers

点击+创建来创建一个新的SQL Server。

选择订阅和资源组,填写服务器名称、位置和管理员帐户,然后点击查看+创建,如下图所示。部署资源后转到资源。

不要忘记在安全性下的防火墙和虚拟网络允许 Azure 服务和资源访问此服务器,用于 SQL Server。

在您的 SQL 服务器中创建数据库。

给出数据库名称,您可以将所有其他选项保留为默认值。单击创建和审查,然后创建数据库。

部署数据库后。您需要将 IP 列入白名单才能在此数据库上运行 SQL 查询。转到数据库中的查询编辑器并提供您的密码。单击出现的消息将 IP 列入白名单。

要将数据库与您的Django框架连接,简单的方法是按照django-pyodbc-azure README安装python包pyodbc和django-pyodbc-azure并正确配置Django的settings.py文件,如下所示。

DATABASES = 
     'default': 
         'ENGINE': 'sql_server.pyodbc',
         'NAME': '<DatabaseName>',
         'USER': '<UserName>',
         'PASSWORD': 'your_password_here',
         'HOST': '<ServerName>',
         'PORT': '<ServerPort>',
         'OPTIONS': 
             'driver': 'ODBC Driver 13 for SQL Server',
             'MARS_Connection': 'True',
         
     
 

【讨论】:

以上是关于Django ORM 和 Azure SQL的主要内容,如果未能解决你的问题,请参考以下文章

Django中ORM介绍和字段及字段参数

Django之ORM

Django种ORM介绍和字段及字段参数

Django Orm 常用字段和参数

Django - ORM操作

第六章 Django框架学习——ORM详解