Django链接远程数据库并创建model

本文介绍如何使用Django从远程数据库导出模型。前提条件包括熟悉Django基础及具备远程数据库及其权限等。文章详细讲解了设置settings.py文件中的数据库配置,并使用inspectdb命令完成模型导出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言


沉寂了小半年没有更新博客。一是真的有点忙,二是真的有点懒。重点突出下第二点,恩,就酱,开始。
基础知识网上有很多,不再赘述。这里默认你已经对Django有了一定的的了解。
看本文的前提:

  • 已经对Django有了基础的认识
  • 已经有了远程数据库
  • 拥有该数据库的相关权限
  • 本地已安装mysqlclient 或 MySQL-python,否则不能正常导出model

远程数据库配置


修改settings.py中数据库相关代码:

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.sqlite3',
    'NAME': 'sql_name',    #你的数据库名称
    'USER': 'user_name',   #你的数据库用户名
    'PASSWORD': 'pwd',     #你的数据库密码
    'HOST': '192.168.0.1', #你的数据库主机,留空默认为localhost
    'PORT': '3306',        #你的数据库端口
  }
}

数据库的配置已经修改好,保存一下修改。
这里多说一句,如果你是复制上面的内容,注意下编码问题。注释为汉语,Django默认没有标明编码格式。所以如果带着注释,则注意在文件顶部加上utf-8编码。

远程数据库导出模型


由远程数据库导出模型,是用manage.py的inspectdb命令。manage.py还有其他的命令,可以使用manage.py help进行查看。这里不展开说明。

执行命令:

 python manage.py inspectdb > path/to/app/models.py

执行结束后查看下models.py文件,模型是不是已经成功导出了?

链接


要在Python + Django项目中连接数据库使用其中的数据,你需要按照以下几个步骤操作: ### 1. 配置Django项目的数据库设置 首先,在`settings.py`文件中配置数据库信息。默认情况下,Django会使用SQLite作为数据库引擎,但如果需要切换到其他类型的数据库(如MySQL、PostgreSQL等),可以修改该部分。 ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', # 数据库引擎选择 'NAME': 'mydatabase', # 数据库名称 'USER': 'myuser', # 用户名 'PASSWORD': 'mypassword', # 密码 'HOST': 'localhost', # 主机地址 (如果远程则填写IP) 'PORT': '5432', # 端口号,默认postgres端口是5432 } } ``` **注意**: 如果你想继续使用 SQLite,则只需要指定 `NAME` 参数即可,它指向本地的一个 `.db` 文件路径。 --- ### 2. 定义模型(Model) 通过创建Model类来映射表结构。每个Model对应于数据库中的一个表格。例如: ```python from django.db import models class Book(models.Model): title = models.CharField(max_length=100) # 字符字段 author = models.CharField(max_length=50) # 字符字段 publication_date = models.DateField() # 日期字段 def __str__(self): return self.title # 返回标题字符串用于管理界面显示 ``` 上述代码将生成一张包含三列 (`title`, `author`, 和 `publication_date`) 的名为 "Book" 的表。 --- ### 3. 同步数据表至数据库 当定义好所有 Models 后,运行下面两条命令让 Django 创建相应的 SQL 表格: ```bash python manage.py makemigrations # 根据model的变化制作迁移脚本 python manage.py migrate # 执行迁移脚本更新数据库 ``` --- ### 4. 使用 ORM 操作数据库 接下来就可以利用 Django 内建的强大ORM(Object Relational Mapping)系统对数据库进行CRUD(Create, Read, Update, Delete)操作了。 #### 添加记录: ```python book = Book(title="Python入门", author="张三", publication_date='2023-08-09') book.save() ``` #### 查询记录: ```python books = Book.objects.all() # 获取全部书籍列表 specific_book = Book.objects.get(id=1) # 查找特定ID的一本书籍 filtered_books = Book.objects.filter(author__icontains='李四') # 过滤作者含有“李四”的书目 ``` #### 更新记录: ```python book_to_update = Book.objects.get(id=1) book_to_update.author = "新名字" book_to_update.save() ``` #### 删除记录: ```python book_to_delete = Book.objects.get(id=1) book_to_delete.delete() ``` 以上就是如何在 Python + Django连接数据库及基本的操作方法!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值