Django 数据模型生成数据库表的完整配置与执行指南

Theo
Theo
发布时间:2026-10-13| 5人浏览过
原创

本文详解 Django 中根据数据模型 models 创建数据库表的完整流程。涵盖 SQLite3 与 MySQL 的配置差异,展示 models.py 定义模型及 admin.py 注册的具体代码,并重点解析 makemigrations 与 migrate 命令的执行步骤。针对常见报错提供 --fake 等解决方案,帮助开发者快速完成数据库同步。

若项目采用默认的 SQLite3 数据库,则无需对 settings.py 进行额外配置即可直接使用。

若需使用其他数据库(此处以 MySQL 为例),则必须在 settings.py 中进行相应配置。

DATABASES = {
  'default': {
    'ENGINE':'django.db.backends.mysql',
    'NAME':'webapp',#数据库名
    'USER':'test1',#用户名
    'PASSWORD':'123456',#密码
    'HOST':'127.0.0.1',
    'PORT':'3306',
  }
}

接下来在 models.py 文件中完成数据模型的定义,具体代码结构如下:

class student(models.Model):
#   class Meta:
#     db_table = 'User_table'#指定数据表的名称
  name = models.CharField(max_length=50)
  sex = models.CharField(max_length=10)
  birthday = models.DateField()
  telephone = models.BigIntegerField()
  def __str__(self):
    return self.name

随后在 admin.py 文件中完成该模型的注册操作,以便在后台管理界面使用。

from webapp import models
admin.site.register(models.student)

最后,通过终端 cd 命令进入 manage.py 所在的目录,并执行相应的数据库同步命令。

# Django 1.6.x 及以下
python manage.py syncdb
# Django 1.7 及以上的版本需要用以下命令
python manage.py makemigrations
python manage.py migrate
#python2.7 manage.py **** #如果安装多个python版本的话,最好指定版本

若执行 python manage.py migrate 时出现报错,可尝试使用 python2.7 manage.py migrate appname --fake 命令进行强制同步。

若上述操作仍无法解决问题,请仔细检查代码中是否存在错误,修正后重新执行迁移命令。

以上即为 Django 根据数据模型 models 创建数据表的完整实例分享,旨在为读者提供参考,欢迎持续关注以获取更多技术支持。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。